gpt4 book ai didi

php - array_walk_recursive 与数组?

转载 作者:行者123 更新时间:2023-12-04 11:37:49 25 4
gpt4 key购买 nike

我有一个菜单数组,它是一个多维数组,我想对每个项目做一些事情,所以我尝试了 array_walk_recursive。这是菜单:

$menu = array(
array(
'name'=>'a',
'url'=>'b',
),
array(
'name'=>'c',
'url'=>'d',
'children'=>array(
array(
'name'=>'e',
'url'=>'f'
)
)
)
);

但是 array_walk_recursive 只让我处理每一个元素,而不是数组。
array_walk_recursive($menu, function(&$item){
var_dump($item);//return a;b;c;d;e;f;g
});

我想要的是这样的:
array_walk_recursive_with_array($menu, function(&$item){
var_dump($item);//return array('name'=>'a','url'=>'b');a;b;array('name'=>'c',...);c;d;...
if(is_array($item) && isset($item['name'])){
// I want to do something with the item.
}
})

有没有PHP原生函数实现?

最佳答案

根据 array_walk_recursive documentation ,您无法获取内部数组键。
满足您需求的一种方法是使用 array_walk 并创建您自己的递归。

function HandleArray(&$value){
if(is_array($value)){
//Do something with all array
array_walk($value,'HandleArray');
}
else{
//do something with your scalar value
}
}
array_walk(array($your_array),'HandleArray');

关于php - array_walk_recursive 与数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24553755/

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