猿问

php无限极数组,获取指定键值

无限极数组,如果我只想取部分字段如下面数组,只保留rid,title,data三个字段,该如何实现了.我知道php有个函数array_walk_recursive是做数组递归遍历的,但是对实现这个一点思路也没有,请大家提供一些有逼格的写法

红糖糍粑
浏览 673回答 5
5回答

繁华开满天机

sql语句查询的时候只select这几个字段就行了啊

扬帆大鱼

直接循环或者查询的时候就指定查询这几个就好了

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']); } }); }
随时随地看视频慕课网APP
我要回答