如何在给定键的情况下从多维数组中删除元素?
我希望这是贪婪的,这样它就会删除数组中与我传入的键相匹配的所有元素.到目前为止,我已经可以遍历多维数组,但是我无法取消我需要的键.因为我没有参考它!
function traverseArray($array, $keys)
{
foreach($array as $key=>$value)
{
if(is_array($value))
{
traverseArray($value);
} else {
if(in_array($key, $keys))
{
//unset(what goes here?)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
以下代码有效(并且不使用已弃用的东西),只是测试了它:
function traverseArray(&$array, $keys) {
foreach ($array as $key => &$value) {
if (is_array($value)) {
traverseArray($value, $keys);
} else {
if (in_array($key, $keys)){
unset($array[$key]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)