无限极数组,如果我只想取部分字段如下面数组,只保留rid,title,data三个字段,该如何实现了.我知道php有个函数array_walk_recursive是做数组递归遍历的,但是对实现这个一点思路也没有,请大家提供一些有逼格的写法
5 回答
![?](http://img1.sycdn.imooc.com/533e4bec0001ae5302000200-100-100.jpg)
RISEBY
TA贡献1856条经验 获得超5个赞
用递归方法处理一下就好了,如下:
<?php
$arr = [
[
'rid' => 1,
'name' => 'wuzhc',
'_level' => 1,
'data' => [
[
'rid' => 2,
'name' => 'haha',
'_level' => 2,
'data' => [
[
'rid' => 3,
'name' => 'lili',
'_level' => 3,
'data' => []
]
],
],
[
'rid' => 4,
'name' => 'wewe',
'data' => [],
'_level' => 1,
]
]
]
];
walkData($arr);
print_r($arr);
function walkData(&$data)
{
if (!$data) {
return;
}
array_walk($data, function (&$d) {
unset($d['name'], $d['_level']); // 这里删除你不想要的字段
if ($d['data']) {
walkData($d['data']);
}
});
}
- 5 回答
- 0 关注
- 672 浏览
添加回答
举报
0/150
提交
取消