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 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里