⚪ php中==是弱等于,不会比较变量类型;===是强等于,会先比较变量类型。
⚪ “0e"开头跟数字的字符串(例如"0e123”)会当作科学计数法去比较,所以和0相等;
⚪ “0x"开头跟数字的字符串(例如"0x1e240”)会被当作16进制数去比较;
⚪ 布尔值true和任意字符串都弱相等。
⚪ 当比较的一方是字符串时,会先把其转换为数字,不能转换为数字的字符串(例如"aaa"是不能转换为数字的字符串,而"123"或"123aa"或"0x10"或"2e2"就是可以转换为数字的字符串)或null,被转换为0。
false==""==0==NULL //true
0=="a" //true
1=="a" //false
0=="1" //false
"admin"==0 //true
"admin"==false //false
"123admin"==123 //true
"0e123456"=="0e456789"==0 //true
"0e123aaa"==0 //true
"0x1e240"=="123456"==123456 //true
"0x10zz"==16 //true
"0x10ab"==16 //false
"0x"==0 //true
"0e"==0 //true
"0abc"==0 //true
true=="???" //true
[false]==[0] //true