我正在尝试在一个简单的数组上使用array_search:
echo "<br> Search for : -".ucfirst(strtolower(trim($rowData[0][2]))).'-';
这是值的索引(我知道但是我希望PHP为我找到它&gt;&lt;):
echo '<br>-'.$listMetiers[0].'-';
这是完整的数组:
echo '<pre>';
print_r($listMetiers);
echo '</pre>';
$id_metier = array_search(ucfirst(strtolower(trim($rowData[0][2]))),$listMetiers);
if(!$id_metier)
{
echo ' NOT FOUND !<br>';
$id_metier = -666;
}
else
{
echo 'GOOD : '.$id_metier.'<br>';
}
值在数组中但是array_search找不到它!查看执行此代码时的内容:
发生了什么事?
答案 0 :(得分:3)
array_searh
返回0,PHP将其视为虚假值。
你应该改变这个
!$id_metier
进入这个
$id_metier === false
答案 1 :(得分:1)
你的测试很糟糕,使用:
if($id_metier < 0){ // not found
// ...
} else { // found
// ...
}