duanjianqu3685 2016-06-24 21:47
浏览 24
已采纳

回显多维数组

I have this 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

I need the [name] (if there exist one) out of all the [rewardItems] arrays.

I tried it like that, but there are no results, what am i doing wrong?

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

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

echo '
  • 写回答

1条回答 默认 最新

  • duanping2005 2016-06-24 22:18
    关注

    You've got yourself some nested loops to iterate through in this structure.

    <?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;
        }
      }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?