为什么in_array(0,*)总是返回1

时间:2017-10-29 09:59:04

标签: php

为什么in_array(0, array("pop"))会返回1?

请参见docs,否则0不是数组中的值,应该返回0或FALSE。

1 个答案:

答案 0 :(得分:1)

in_array($needle, $haystack, $strict = FALSE)使用松散比较搜索haystack的针头,除非设置了strict。 当你没有提供第三个"严格的"参数值将根据php中的松散比较规则进行比较。 转到http://php.net/manual/en/types.comparisons.php。您将看到记录的松散比较行为。

0 == "pop"是一个松散的比较,返回TRUE

0 === "pop"是一个严格的比较,返回FALSE