前人之述备矣,仅仅做个汇总。同样还可以参看官网给出的类型表(PHP 类型比较表)。
0=='0' //true
0 == 'abcdefg' //true
1 == '1abcdef' //true
null==false //true
123=='123' //true
//哈希比较
"0e132456789"=="0e7124511451155" //true
"0e123456abc"=="0e1dddada" //false
"0e1abc"=="0" //true
"0x1e240"=="123456" //true
"0x1e240"==123456 //true
var_dump(intval('2')) //2
var_dump(intval('3abcd')) //3
var_dump(intval('abcd')) //0
//任意两个array,MD5相等
var_dump(md5($array1)==var_dump($array2)); //true
//case 自转换,以下代码输出i is less than 3 but not negative
$i ="2abc";
switch ($i) {
case 0:
case 1:
case 2:
echo "i is less than 3 but not negative";
break;
case 3:
echo "i is 3";
}
//in_array的缺陷,array_search
$array=[0,1,2,'3'];
var_dump(in_array('abc', $array)); //true
var_dump(in_array('1bc', $array)); //true
//strcmp在php5.x个版本后有些特性不太同,所以遇到的时候具体讨论