PHP字符串"all"和整型0比较的奇怪问题
<br /><?php<br /><br />$a = "all";<br />$b = 0;<br /><br />var_dump($a);<br />var_dump($b);<br />$cmp = ($a==$b);<br />var_dump($cmp); //bool(true)???<br />$cmp2 = ($a===$b);<br />var_dump($cmp2); //bool(false)<br />
以上问题何解?
------解决方案--------------------任何类型和数值类型与做比较时,都将化为数值类型进行比较
"all" 化为数值就是 0 了,所以 bool(true)
一个例外的是 包含类型的比较 ===
他是先做类型比较,在做值比较
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn