php 弱类型比较

⚪ 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

你可能感兴趣的:(CTF,PHP,弱类型)