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

我正在尝试创建一个从深度不同的多维数组中提取的“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

... 等等 ...


牛魔王的故事
浏览 121回答 1
1回答

炎炎设计

正如建议的那样,您可以使用array_walk_recursive它来实现。<?php$ids = [];array_walk_recursive($data,function($value,$key) use (&$ids){    if($key == 'id') $ids[] = $value;});print_r($ids);
打开App,查看更多内容
随时随地看视频慕课网APP