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

从多键多维数组中提取单个索引值(从每个子数组中)

从多键多维数组中提取单个索引值(从每个子数组中)

PHP
牛魔王的故事 2023-05-12 15:47:18
我正在尝试创建一个从深度不同的多维数组中提取的“id”的单维数组。我需要从每个数组中提取值(无论多深)。每个数组都使用相同的键进行索引(见下文)。我试过展平所以我可以使用'array_column'(因为每个数组中的键数而不起作用),以及像 print_r(array_keys($data[0])[0]) 这样的方法(不适用于未知维度深度)。这看起来很简单,但我没有找到任何这样的例子。任何方向表示赞赏。谢谢。Array(    [0] => Array        (            [id] => 1000005            [first_name] => James            [last_name] => Smith            [position_root] => CHF CUST EX            [position_area] => Customer Operations            [items] => Array                (                    [0] => Array                        (                            [id] => 1000134                            [first_name] => Brandt                            [last_name] => Jones                            [position_root] => BS APL PJCTS                            [position_area] => Customer Executive Support                            [items] => Array                                (                                )                        )                    [1] => Array                        (                            [id] => 1000149                            [first_name] => Daniel                            [last_name] => Brown                            [position_root] => CUST PROG                            [position_area] => CUSTOMER PROGRAMS我所希望的是:[0] => 1000005[1] => 1000134[2] => 1000149[3] => 1000060... 等等 ...
查看完整描述

1 回答

?
炎炎设计

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

正如建议的那样,您可以使用array_walk_recursive它来实现。

<?php


$ids = [];

array_walk_recursive($data,function($value,$key) use (&$ids){

    if($key == 'id') $ids[] = $value;

});


print_r($ids);


查看完整回答
反对 回复 2023-05-12
  • 1 回答
  • 0 关注
  • 120 浏览

添加回答

举报

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