PHP int(0) 的字符串计算



为什么这个表达式在 PHP 中的计算结果为 true:

0 == " UNKNOWN" 

因为字符串被强制转换为 int 进行比较,并且该字符串的 int 值为 0。

请参阅 http://php.net/manual/en/language.types.type-juggling.php

您正在两个变量之间进行松散比较;松散比较表中涵盖了使用该运算符的规则。

==将类型转换其中一个值以匹配另一个值。

(int)" UNKNOWN"返回 0

(int)0返回 0

所以

0==" UNKNOWN" true

$string == " UNKNOWN";
var_dump((int)$string); //gives 0

所以它的计算结果为 true。

最新更新