Php 帮助解码JSON

Php 帮助解码JSON,php,arrays,json,decode,Php,Arrays,Json,Decode,我试图从这段json中获取“screenshotUrls”字符串: $request_url = 'http://itunes.apple.com/search?term=ibooks&country=us&entity=software&limit=1'; $json = file_get_contents($request_url); $decode = json_decode($json, true); echo $decode['results'][0]['sc

我试图从这段json中获取“screenshotUrls”字符串:

$request_url = 'http://itunes.apple.com/search?term=ibooks&country=us&entity=software&limit=1';
$json = file_get_contents($request_url);
$decode = json_decode($json, true);

echo $decode['results'][0]['screenshotUrls'];
但我只得到文本“数组”

我做错了什么?

试试看

var_dump($decode['results'][0]['screenshotUrls']);

如果您通过PHP获得“Array”输出,这意味着您正在尝试回显实际的数组(或字符串“Array”…)。这意味着您需要获取特定的索引值。

执行
变量转储($decode['results']['0']['screenshotURL'])
。你会发现
['screenshotUrls']
实际上是一个数组,包含一个或多个URL(因此名称中有复数'URL')。

到目前为止,你的代码没有问题,但是
$decode['results'][0]['screenshotUrls']
是一个包含所有屏幕截图URL的数组。要单独完成每一项,您需要执行以下操作:

forearch ($decode['results'][0]['screenshotUrls'] as $url) {
    // Do stuff here
}

由于
$decode['results']['0']['screenshotUrls']
是一个数组,如果您只需要一个字符串(比如,用逗号分隔),可以使用

echo implode(",", $decode['results']['0']['screenshotUrls']);

这将遍历数组,并返回所有URL的逗号分隔字符串。

$decode['results'][0]['screenshotURL']
可能是一个数组而不是字符串。执行
var\u转储($decode)以查看它的外观。请查看。