我有这个代码:
$arr = array(
"0" => 30,
"1" => 31,
"2" => 32,
"3" => 33
);
if ($key = array_search(30, $arr)) {
unset($arr[$key]);
}
var_dump($arr);
Run Code Online (Sandbox Code Playgroud)
为什么,如果没有从中删除30值$arr?如果您尝试任何其他值31或33代码工作,但使用第一个键它没有,我不知道为什么,任何建议?我在这里缺少什么?
if ($key = array_search(30, $arr)) 评估为0.
0是假值.
因此,您永远不会输入if语句
尝试:
$key = array_search(30, $arr);
if (FALSE !== $key) {
unset($arr[$key]);
}
var_dump($arr)
Run Code Online (Sandbox Code Playgroud)