PHP头条
热点:

PHP中==和===的区别在哪?,php中区别在哪


话不多说,上代码

$a=0;
$b="test";

if($a==$b)
{
    echo "true";
}
else
{
    echo "false";
}

if($a===$b)
{
    echo "true";
}
else
{
    echo "false";
}

上面两个判断分别返回true和false,或许很多人会说这不是很简单的判断吗?但是对于我来说却是个很神奇的结果。。。

那么为什么第一种判断会返回true呢?

问问度娘,解释如下:
1.==只是对值得比较(将两边值转化为同类型再比较),而===则是对值和类型的比较。
2.对于==的比较,若有一方为数字,另一方为字符串或空或null,均会先将非数字一方转化为0,再做比较。

接下来,我们再做个比较

$a=1;
$b="test";
if($a==$b)
{
    echo "true";
}
else
{
    echo "false";
}

此时结果为false

区分完php中==和===的区别,我又想,在javascript中会不会是一样的结果呢?

接下来我们再做个测试。以下是javascript代码:

var a=0;
var b="test";

if(a==b)
{
    console.log("true");
}
else
{
    console.log("false");
}

var a=1;
var b="test";

if(a==b)
{
    console.log("true");
}
else
{
    console.log("false");
}

那么上面的结果返回什么呢?根据刚才对php的结果,我的判断是true和false,但是结果却出乎意料,两次结果都返回了false。

可见==比较符在javascript中和在php还是有点区别的,在javascript中数字和非数字的比较,非数字不会被转化为0,至于具体原因,还有待考究。希望哪位大神可以解答解答。

以上是本次内容。

www.phpzy.comtrue/php/18777.htmlTechArticlePHP中==和===的区别在哪?,php中区别在哪 话不多说,上代码 $a = 0 ; $b = "test" ; if ( $a == $b ){ echo "true" ;} else { echo "false" ;} if ( $a === $b ){ echo "true" ;} else { echo "false" ;} 上面两个判断分别返回...

相关文章

    暂无相关文章

PHP之友评论

今天推荐