0 與任意非數(shù)字(或者說,不可轉(zhuǎn)化為數(shù)字的字符)前導(dǎo)的字符串比較(操作符為==), 均返回 true.
原因是, 數(shù)字與字符串比較時(shí), 先嘗試將字符串轉(zhuǎn)換為數(shù)字, 再比較, 一個(gè)不能轉(zhuǎn)換為數(shù)字的字符串, 轉(zhuǎn)換結(jié)果為0, 故, 與0比較總返回 true.
更加詳細(xì)的比較規(guī)則, 多種類型的比較規(guī)則, 在 PHP手冊(cè)/語言參考/運(yùn)算符/比較運(yùn)算符 可以找到.
在PHP里當(dāng)兩個(gè)數(shù)字型字符串(只含數(shù)字的字符串)進(jìn)行比較的時(shí)候是直接轉(zhuǎn)換成數(shù)值進(jìn)行比較的 
如下示例:(注意$a和$b兩個(gè)變量的最后一位不相等) 
復(fù)制代碼 代碼如下:
 
//示例1 
<?php 
$a = '511203199106034578'; 
$b = '511203199106034579'; 
if ($a==$b) { 
echo 'equal'; 
} else { 
echo 'notEqual'; 
} 
?> 
復(fù)制代碼 代碼如下:
 
//示例2 
<?php 
$a = 'a511203199106034578'; 
$b = 'a511203199106034579'; 
if ($a==$b) { 
echo 'equal'; 
} else { 
echo 'notEqual'; 
} 
?> 
復(fù)制代碼 代碼如下:
 
<?php 
$a = 511203199106034578; 
$b = 511203199106034579; 
echo $a; // 輸出 5.1120319910603E+17 即511203199106030000 
echo $b; // 輸出 5.1120319910603E+17 即511203199106030000 
?> 
復(fù)制代碼 代碼如下:
 
//示例4 
<?php 
$a = '511203199106034578'; 
$b = '511203199106034579'; 
if ($a===$b) { 
echo 'equal'; 
} else { 
echo 'notEqual'; 
} 
?> 
新聞熱點(diǎn)
疑難解答