【发布时间】:2021-10-02 18:40:22
【问题描述】:
请帮我过滤数组
我有数组:
$arr=[
'test' => [
'access' => 111,
'aa' => [
'access'=> 222,
'bb' => 333
],
],
'access' => 444,
'value' => 555
];
我想要
$arr=[
'test' => [
'access' => 111,
'aa' => [
'access'=> 222,
],
],
'access' => 444,
];
我愿意
function array_filter_recursive($input)
{
foreach ($input as &$value) {
if (is_array($value)) {
$value = array_filter_recursive($value);
}
}
return array_filter($input,function ($key){
return $key == 'access';
},ARRAY_FILTER_USE_KEY);
}
var_dump(array_filter_recursive($arr));
仅返回 1 项
如果我更改函数,如 return $key != 'access'; 它返回没有 key==access 的数组,但如果 $key == 'access' 则它不起作用
【问题讨论】:
-
输入是第一个数组,想要的输出是第二个数组。
标签: php recursion array-filter