鍍金池/ 問(wèn)答/PHP/ PHP 1=="1a"的不解

PHP 1=="1a"的不解

if(1=="1a"){

echo 'true';

}else{

echo 'false';

}
以上輸出true,之前我的總結(jié)是:
1.==只是對(duì)值得比較(將兩邊值轉(zhuǎn)化為同類型再比較),而===則是對(duì)值和類型的比較。
2.對(duì)于==的比較,若有一方為數(shù)字,另一方為字符串或空或null,均會(huì)先將非數(shù)字一方轉(zhuǎn)化為0,再做比較。

難道這里的字符'1a'唄轉(zhuǎn)換成為數(shù)字1了????如果改成if(1=="a")或者if(1=="a1")結(jié)果都是false?這怎么理解?

回答
編輯回答
傲嬌范

1 == true
0 == null == '' == false
但是 1 == '1a' 0 == 'a' 且 'a' == true,'1a' == true

2018年2月4日 14:12
編輯回答
陪她鬧

字符串1a會(huì)被轉(zhuǎn)換為數(shù)字1,這是PHP基礎(chǔ)知識(shí)了。

2017年6月30日 02:06