gpt4 book ai didi

php - 在 array_walk_recursive 中取消设置不起作用

转载 作者:可可西里 更新时间:2023-10-31 23:56:11 26 4
gpt4 key购买 nike

  array_walk_recursive($arr, function(&$val, $key){
if($val == 'smth'){
unset($val); // <- not working, unset($key) doesn't either
$var = null; // <- setting it to null works
}
});

print_r($arr);

我不希望它为空,我希望元素完全脱离数组。这甚至可以通过 array_walk_recursive 实现吗?

最佳答案

您不能在此处使用array_walk_recursive,但您可以编写自己的函数。很简单:

function array_unset_recursive(&$array, $remove) {
$remove = (array)$remove;
foreach ($array as $key => &$value) {
if (in_array($value, $remove)) {
unset($array[$key]);
} elseif (is_array($value)) {
array_unset_recursive($value, $remove);
}
}
}

和用法:

array_unset_recursive($arr, 'smth');

或删除几个值:

array_unset_recursive($arr, ['smth', 51]);

关于php - 在 array_walk_recursive 中取消设置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9150726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com