看来您不能使用 PHP 中的 search_array 函数来搜索 0 索引并将其计算为真。
例如考虑这段代码:
$test=array(100, 101, 102, 103);
if($key=array_search(100,$test)){
echo $key;
}
else{
echo "Not found";
}
大海捞针 '100' 是大海捞针,返回的键值为 0。到目前为止一切顺利,但是当我评估搜索是否成功时,它失败了,因为返回值为 0,等于 false !
php 手册建议使用 '!==' 但这样做不会返回键(数组索引),而是返回 1 或 0:
if($key=(array_search(103,$test)!== false)){
}
那么我怎样才能成功搜索数组,在 0 索引中找到匹配项并将其评估为真?
最佳答案
文档中明确提到了这一点。您需要使用 ===
或 !==
:
$key = array_search(...);
if ($key !== false) ...
否则,当$key
为0
时,evaluates to false
当作为 bool 值测试时。
关于php array_search 0 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15934392/