如何在php中显示json解码数组?

时间:2014-04-10 00:39:41

标签: php foreach json

$appUrl = "https://itunes.apple.com/us/rss/topfreeapplications/limit=400/genre=6014/json";

$appStore = new APPSTORE();
$json_appdata = $appStore->downloadApps($appUrl);

$appdata_array = json_decode($json_appdata, true);
//print_r($appdata_array);

foreach ($appdata_array["entry"] as $row) {
    print_r($row["im:name"]);
}

然后我收到了以下错误:

Notice: Undefined index: entry on line 13 which is in foreach.

Warning: Invalid argument supplied for foreach() on line 13

我的问题是: 我该怎么做才能显示所有[im:name]元素? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

您缺少主键。试试这个:

foreach ($appdata_array['feed']['entry'] as $row) {
    print_r($row["im:name"]);
}

修改

为了扩展答案,我做了var_dump()返回/解码的数据:

array (size=1)
  'feed' => 
    array (size=8)
      'author' => 
        array (size=2)
          'name' => 
            array (size=1)
              'label' => string 'iTunes Store' (length=12)
          'uri' => 
            array (size=1)
              'label' => string 'http://www.apple.com/itunes/' (length=28)
      'entry' => 
        array (size=400)
          0 => 
            array (size=12)
              'im:name' => 
                array (size=1)
                  'label' => string '2048' (length=4)
              'im:image' => 
                array (size=3)

请注意,前导键为feed

希望这有帮助! :)