这是我的代码,以json解码picasa api结果,但它总是Warning: Invalid argument supplied for foreach()
,问题出在哪里?谢谢。
<?php
header('Content-type:text/html; charset=utf-8');
$url="http://picasaweb.google.com/data/feed/base/all?alt=json&kind=photo&access=public&filter=1&q=usa&imgor=landscape&max-results=50&hl=en";
$json = file_get_contents($url);
$data = json_decode($body, true);
foreach ($data['feed']['entry'] as $result){
echo html_entity_decode($result->content->src, ENT_QUOTES, 'UTF-8');
echo html_entity_decode($result['updated']['$t'], ENT_QUOTES, 'UTF-8');
}
?>
答案 0 :(得分:2)
您使用的是错误的变量:
$json = file_get_contents($url);
$data = json_decode($body, true);
它应该是$ json而不是$ body。
您使用了json_decode(,true),因此它将所有对象转换为关联数组。但是在这里你使用对象表示法来访问你的数据,这可能会导致另一个错误:
echo html_entity_decode($result->content->src, ENT_QUOTES, 'UTF-8');