【问题标题】:Extract Data from Multidem array从 Multidem 数组中提取数据
【发布时间】:2018-06-11 19:19:30
【问题描述】:

我一直在尝试从一个大型多维数组中为每个学生提取以下数据(如下所示)

Data -> gender,
Data -> grade,
Data -> name -> first,
Data -> name -> last,
Data -> name -> middle,
Data -> student_number,
Data -> ID

我通过搜索尝试了各种选项,包括 Slice、Splice 和 for 循环。

所有或部分数据的每次尝试都失败了。我一直无法获得第 3 个嵌套数据,即名字、中间名和姓氏。

如何获取像这样的大型 multidem 数组,并在 foreach 循环中提取上面列出的数据,以便将其导入数据库?我觉得它比我做的要简单得多。我没有包含任何代码,因为我还没有任何看起来非常有用的东西。

下面是一个示例数组。谢谢!

       Array
    (
        [data] => Array
            (
                [0] => Array
                    (
                        [data] => Array
                            (
                                [gender] => M
                                [dob] => 7/17/2008
                                [email] => 
                                [grade] => 2
                                [schools] => Array
                                    (
                                        [0] =>12345
                                    )

                                [school] => 12345
                                [created] => 2018-04-16T14:01:00.437Z
                                [name] => Array
                                    (
                                        [first] => Jacob
                                        [last] => Smith
                                        [middle] => Rabbitboom
                                    )

                                [location] => Array
                                    (
                                        [zip] => 
                                        [address] => 
                                        [city] => 
                                        [lat] => 
                                        [lon] => 
                                        [state] => 
                                    )

                                [district] => 123456
                                [last_modified] => 2018-04-16T14:01:00.437Z
                                [race] => 
                                [hispanic_ethnicity] => 
                                [graduation_year] => 
                                [student_number] => 1234567
                                [credentials] => Array
                                    (
                                        [district_username] => 
                                    )

                                [id] => 123456
                            )

                        [uri] => 
                    )
  [1] => Array
                    (
                        [data] => Array
                            (
                                [gender] => F
                                [dob] => 7/17/2008
                                [email] => 
                                [grade] => 2
                                [schools] => Array
                                    (
                                        [0] =>12346
                                    )

                                [school] => 12345
                                [created] => 2018-04-16T14:01:00.437Z
                                [name] => Array
                                    (
                                        [first] => Jason
                                        [last] => Smith
                                        [middle] => RobesPerrie
                                    )

                                [location] => Array
                                    (
                                        [zip] => 
                                        [address] => 
                                        [city] => 
                                        [lat] => 
                                        [lon] => 
                                        [state] => 
                                    )

                                [district] => 123456
                                [last_modified] => 2018-04-16T14:01:00.437Z
                                [race] => 
                                [hispanic_ethnicity] => 
                                [graduation_year] => 
                                [student_number] => 1234568
                                [credentials] => Array
                                    (
                                        [district_username] => 
                                    )

                                [id] => 123459
                            )

                        [uri] => 
                    )

【问题讨论】:

    标签: php html arrays json api


    【解决方案1】:

    最简单的方法可能是提取嵌套的 data 数组并循环:

    foreach(array_column($array['data'], 'data') as $data) {
        echo $data['gender'];
        echo $data['name']['first'];
    }
    

    如果schools 是可变长度的,那么你需要循环它或implode(', ', $data['schools'])

    【讨论】:

    • 好吧,我不确定它是否更容易,但我不关心除了我列出的数据之外的任何数据。
    • 不,这很容易。
    • 我测试了它并得到了我需要的东西。非常感谢!
    猜你喜欢
    • 2014-07-05
    • 2012-10-24
    • 2014-12-21
    • 1970-01-01
    • 2023-03-11
    • 2014-07-30
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多