如何从PHP中的非关联数组中删除元素

hyw*_*wak 0 php arrays unset

我正在尝试使用unset函数从php数组中删除特定元素。问题是,当我使用var_dump数组时,它会显示所有索引(不好),但是如果我尝试使用var_dump特定的索引,PHP会发出警告(很好)。

$a = [
    'unset_me',
    'leave_me',
    'whatever',
];

unset($a['unset_me']);

var_dump($a);
/**
array(3) {
  [0]=>
  string(8) "unset_me"
  [1]=>
  string(8) "leave_me"
  [2]=>
  string(8) "whatever
*/
var_dump($a['unset_me']); // Undefined index: unset_me
Run Code Online (Sandbox Code Playgroud)

问题是为什么php会像这样,以及如何正确删除索引?

dev*_*pro 6

另一种解决方案:

$arr = array('unset_me','leave_me','whatever',);  
print_r($arr);

// remove the elements that you want  
$arr = array_diff($arr, array("unset_me"));
print_r($arr);  
Run Code Online (Sandbox Code Playgroud)