布尔针可以传递给in_array吗?

时间:2011-07-25 18:25:01

标签: php boolean

我可以将false作为指针传递给in_array()吗?

if(in_array(false,$haystack_array)){
    return '!';
}else{
    return 'C';
}

$haystack_array仅包含布尔值。 haystack表示多个写入查询的结果。我试图找出他们是否有任何错误,因此没有完成。

4 个答案:

答案 0 :(得分:9)

PHP不会关心你传入的'针',但你也应该使用in_array的第三个(可选)参数来使它成为'严格'的比较。 PHP中的'false'将测试等于0''""null等...

答案 1 :(得分:0)

是的,就像你的示例代码一样。因为in_array返回一个布尔值来指示搜索是否成功(而不是返回匹配),所以不会导致任何问题。

答案 2 :(得分:0)

got to be a better way

<?php
    echo (in_array(false,array(true,true,true,false)) ? '!' : 'C');
    echo (in_array(false,array(true,true,true,true)) ? '!' : 'C');

Output:
   !C

答案 3 :(得分:0)

是的,你可以,但为什么不用这样的一个布尔变量来做呢:

$anyFalseResults = false;
... your query loop {
    // do the query
    if( $queryResult == false ) $anyFalseResults = true;
}

在循环结束时,$ anyFalseResults将包含您要查找的内容。