RISEBY
用递归方法处理一下就好了,如下:
<?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']);
}
});
}