为什么评价为真?

时间:2013-01-21 11:54:18

标签: php

  

可能重复:
  Why does (0 == ‘Hello’) return true in PHP?

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

评估为TRUE

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

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

评估为FALSE

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

评估为FALSE

还发现了这个: Why does 1234 == '1234 test' evaluate to true?

1 个答案:

答案 0 :(得分:3)

原因是字符串'names'的数值为0,但布尔值为true(据我所知,任何非空字符串也不是'0'或类似的东西)相当于PHP中的true