無限極數(shù)組,如果我只想取部分字段如下面數(shù)組,只保留rid,title,data三個(gè)字段,該如何實(shí)現(xiàn)了.我知道php有個(gè)函數(shù)array_walk_recursive是做數(shù)組遞歸遍歷的,但是對實(shí)現(xiàn)這個(gè)一點(diǎn)思路也沒有,請大家提供一些有逼格的寫法
5 回答

RISEBY
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
用遞歸方法處理一下就好了,如下:
<?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 關(guān)注
- 686 瀏覽
添加回答
舉報(bào)
0/150
提交
取消