Maison > développement back-end > tutoriel php > PHP字符串"all"和整型0比较的奇怪问题

PHP字符串"all"和整型0比较的奇怪问题

WBOY
Libérer: 2016-06-23 14:01:29
original
844 Les gens l'ont consulté

<?php$a = "all";$b = 0;var_dump($a);var_dump($b);$cmp = ($a==$b);var_dump($cmp);			//bool(true)???$cmp2 = ($a===$b);var_dump($cmp2);		//bool(false)
Copier après la connexion


以上问题何解?


回复讨论(解决方案)

任何类型和数值类型与做比较时,都将化为数值类型进行比较
"all" 化为数值就是 0 了,所以 bool(true)

一个例外的是 包含类型的比较 ===
他是先做类型比较,在做值比较

不同变量类型进行比较的时候,PHP有内部机制进行转换,再加以比较。

$cmp = (intval($a)==$b);
Copier après la connexion

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal