为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
红糖糍粑 2019-03-07 21:39:11
无限极数组,如果我只想取部分字段如下面数组,只保留rid,title,data三个字段,该如何实现了.我知道php有个函数array_walk_recursive是做数组递归遍历的,但是对实现这个一点思路也没有,请大家提供一些有逼格的写法
查看完整描述

5 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-18
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

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

查看完整回答
反对 回复 2019-03-18
?
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']);
        }
    });
}
查看完整回答
反对 回复 2019-03-18
  • 5 回答
  • 0 关注
  • 672 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信