繁体   English   中英

如何从多维数组中提取特定数据

[英]How to pull a specific data from multidimensional array

我有一个问题,我必须使10个循环依赖于数组号才能获取数据。

我通过其他帖子的一些帮助解决了该问题,但我有一个重命名问题

我正在使用的数组

Array
(
    [catalog] => Array
        (
            [book] => Array
                (
                    [0] => Array
                        (
                            [took] => Array
                                (
                                    [dodo] => Array
                                        (
                                            [ahmadz] => Array
                                                (
                                                    [lolo] => Array
                                                        (
                                                            [tata] => Array
                                                                (
                                                                    [author] => ahmadz
                                                                    [title] => Midnight Rain
                                                                    [genre] => Fantasy
                                                                    [price] => 5.95
                                                                    [publish_date] => 2000-12-16
                                                                    [description] => A former architect battles corporate zombies, 
                              an evil sorceress, and her own childhood to become queen 
                              of the world.
                                                                )

                                                        )

                                                )

                                        )

                                )

                        )

                    [1] => Array
                        (
                            [took] => Array
                                (
                                    [dodo] => Array
                                        (
                                            [ahmadz] => Array
                                                (
                                                    [lolo] => Array
                                                        (
                                                            [tata2] => Array
                                                                (
                                                                    [author] => Ralls, Kim
                                                                    [title] => Midnight Rain
                                                                    [genre] => Fantasy
                                                                    [price] => 5.95
                                                                    [publish_date] => 2000-12-16
                                                                    [description] => A former architect battles corporate zombies, 
                              an evil sorceress, and her own childhood to become queen 
                              of the world.
                                                                )

                                                        )

                                                )

                                        )

                                )

                        )

                )

        )

)

这就是我从中获取特定数据的方式

$author_array = array();
array_walk_recursive($array, function($value, $key) {
    if (in_array($key, array("author"))) {
       echo  $author_array[] = $value;
    }
});

在这些值之前我有一个问题

 [author] => ahmadz
 [title] => Midnight Rain
 [genre] => Fantasy
 [price] => 5.95

我有不同的钥匙

塔塔和塔塔2

我只想获取“ tata”键中的值

但是上面的代码从“ tata”和“ tata2”键返回了两个值

请帮助我从一个键获取数据,而不是两个

这有点草率,但是应该可以。 只需查找塔塔密钥,然后从中提取作者字段。

$author_array = array();
array_walk_recursive($array, function($value, $key) {
   if (in_array($key, array("tata"))) {
      echo  $author_array[] = $value["author"];
   }
});

只需使用嵌套的foreach循环

foreach($ array [“ catalog”] [“ book”] as $ key => $ value){foreach($ value [“ took”] [“ dodo”] [“ ahmadz”] [“ lolo”] as $ key2 => $ value2){echo“ author:”。 $ value2 [“ author”];}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM