我可以将false
作为指针传递给in_array()
吗?
if(in_array(false,$haystack_array)){
return '!';
}else{
return 'C';
}
$haystack_array
仅包含布尔值。 haystack表示多个写入查询的结果。我试图找出他们是否有任何错误,因此没有完成。
答案 0 :(得分:9)
PHP不会关心你传入的'针',但你也应该使用in_array的第三个(可选)参数来使它成为'严格'的比较。 PHP中的'false'将测试等于0
,''
,""
,null
等...
答案 1 :(得分:0)
是的,就像你的示例代码一样。因为in_array
返回一个布尔值来指示搜索是否成功(而不是返回匹配),所以不会导致任何问题。
答案 2 :(得分:0)
<?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将包含您要查找的内容。