我正试图从这片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'];
但我只得到文字“数组”
我做错了什么?
答案 0 :(得分:3)
尝试
var_dump($decode['results'][0]['screenshotUrls']);
如果你得到PHP的'Array'输出,这意味着你试图回显一个实际的数组(或字符串'Array'...)。这意味着您需要获得特定的索引值。
答案 1 :(得分:0)
做var_dump($decode['results']['0']['screenshotUrls'])
。您会发现['screenshotUrls']
实际上是一个包含一个或多个URL的数组(因此其名称中包含多个“网址”)。
答案 2 :(得分:0)
到目前为止,您的代码没有任何问题,但$decode['results'][0]['screenshotUrls']
是屏幕截图所有网址的数组。要单独检查每一个,你需要做:
forearch ($decode['results'][0]['screenshotUrls'] as $url) {
// Do stuff here
}
答案 3 :(得分:0)
由于$decode['results']['0']['screenshotUrls']
是一个数组,如果你只想要一个字符串(比如用逗号分隔),你可以使用
echo implode(",", $decode['results']['0']['screenshotUrls']);
这将迭代数组,并返回所有URL的逗号分隔字符串。