位置"0"(键)中的项目未被删除,为什么?

Rey*_*rPM 1 php

我有这个代码:

    $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?如果您尝试任何其他值3133代码工作,但使用第一个键它没有,我不知道为什么,任何建议?我在这里缺少什么?

Jor*_*rza 5

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)