如何在没有循环的情况下检查数组是否具有=== null的值?

时间:2011-07-02 09:19:31

标签: php

http://php.net/manual/en/function.in-array.php - 有问题,因为它仅由==检查。这里有任何聪明的oneliner可以通过===吗?

如果数组为空,即有0个元素,或者数组不包含任何完全为null的值,则返回false。如果数组至少有一个=== null元素,则为真。

2 个答案:

答案 0 :(得分:21)

in_array(null, $haystack, true);

如果您阅读the doc you referenced,您会看到该函数采用可选的第三个参数:

  

如果设置了第三个参数strict   为TRUE然后是in_array()函数   还会检查的类型   在大海捞针。

这是函数签名,特别是它出现在doc:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Searches haystack for needle using loose comparison unless strict is set.

答案 1 :(得分:7)

in_array函数接受第三个param(strict),它将执行===比较

in_array(null, $array, true);