我有这个代码:
$arr = array( "0" => 30, "1" => 31, "2" => 32, "3" => 33 ); if ($key = array_search(30, $arr)) { unset($arr[$key]); } var_dump($arr);
为什么,如果没有从中删除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)