众所周知,'=='是各类语言中用来判断值相等的符号(javascript好像除外~),但是在学习php中,又出现了一种'==='的判断符号,存在必定有其价值,所以就抱着试一试的态度来分析一下这'=='和'==='的区别。
/*定义两个变量,注意两者类型不同 */
$first = '10'; //字符型
$second = 10; //整型
/* 下面这个等式将返回true(1) */
$result = ($first== $second);
print "result is $result<br />";
我们不难发现,这两者的类型是不同的,但有趣的是,他们经过强制转换后的值却是相同的,所以看出在php中,无论类型如何,只要他们的值相同,'=='就会一直判断为true
/* 下面这个等式将返回false(空串) */
$result = ($first=== $second);
print "result is $result<br />";
两者一对比,我们马上就能发现两者的不同,'==='判断时会考虑他们的类型,相比'=='之下显得更加严格,想必在php这种纯动态变量的环境之中,这种比较符号一定能有它发挥作用的地方: )。
最后总结:
'==':用于值判断
'===':用于判断变量类型及取值