与其在数组上执行foreach()循环,不如使用array_search()查找适当的键会更快。在小型数组上,我会与foreach一起使用,以提高可读性,但是对于较大的数组或经常执行的代码,这应该更为理想:
$result=array_search($unwantedValue,$array,true);
if($result !== false) {
unset($array[$result]);
}
需要严格的比较运算符!==,因为array_search()可以返回0作为$ unwantedValue的索引。
同样,上面的示例将仅删除第一个值$ unwantedValue,如果$ unwantedValue可以在$ array中出现多次,则应该使用array_keys()来查找所有它们:
$result=array_keys($array,$unwantedValue,true)
foreach($result as $key) {
unset($array[$key]);
}
有关更多信息,请访问http://php.net/manual/zh-CN/function.array-search.php。