1

可能重复:
为什么 (0 == 'Hello') 在 PHP 中返回 true?

<?php
echo ('names' == 0) ? 1 :0;
?>

评估为 TRUE

如果我添加一个额外的等号,它将起作用,但这是违反直觉的。

<?php
echo ('names' === 0) ? 1 :0;
?>

评估为 FALSE

<?php
echo ('names' == FALSE) ? 1 :0;
?>

评估为 FALSE

还发现了这一点: 为什么 1234 == '1234 test' 评估为真?

4

1 回答 1

3

原因是字符串'names'的数值是0,但布尔值是true(据我所知,任何不是'0'或类似的非空字符串都相当于truePHP)。

于 2013-01-21T11:57:33.727 回答