【问题标题】:Echo out a multidimensional array回显一个多维数组
【发布时间】:2016-06-24 21:47:16
【问题描述】:

我有这个数组

 [result] => Array
    (
        [achievements] => Array
            (
                [0] => Array
                    (
                        [id] => 92
                        [achievements] => Array
                            (
                                [0] => Array
                                    (
                                        [id] => 6

                                        [rewardItems] => Array
                                            (
                                            )
                     [49] => Array
                                    (
                                        [id] => 1956

                                        [rewardItems] => Array
                                            (
                                                [0] => Array
                                                    (

                                                        [name] => inv_misc_book_11

我需要所有 [rewardItems] 数组中的 [name](如果存在的话)。

我试过这样,但没有结果,我做错了什么?

foreach ($r['result']['achievements']['0']['achievements']['rewardItems'] as $item) echo '

', $item['name'], '.

echo '

【问题讨论】:

  • if(isset($item[0]['name'])){echo $item[0]['name']; }

标签: php arrays multidimensional-array foreach


【解决方案1】:

你已经在这个结构中得到了一些嵌套循环来迭代。

<?php
$r = array(
 'result' => Array
    (
      'achievements' => Array
          (
            0 => Array
                (
                  'id' => 92,
                  'achievements' => Array
                      (
                        0 => Array
                            (
                              'id' => 6,

                              'rewardItems' => Array
                                  (
                                  )
                            ),
                        49 => Array
                            (
                              'id' => 1956,
                              'rewardItems' => Array
                                  (
                                      0 => Array
                                          (
                                              'name' => 'inv_misc_book_11'
                                          )
                                  )
                            )
                        )
                )
          )
    )
);

foreach ($r['result']['achievements']['0']['achievements'] as $achievement){
  if(!empty($achievement['rewardItems'])){
    foreach ($achievement['rewardItems'] as $item){
      echo "$item[name]<br/>".PHP_EOL;
    }
  }
}

【讨论】:

    猜你喜欢
    • 2011-06-10
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 2015-09-15
    • 2017-01-10
    • 2012-10-18
    相关资源
    最近更新 更多