我正在尝试使用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会像这样,以及如何正确删除索引?
另一种解决方案:
$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)