使用json_decode从API打印Flickr变量

时间:2012-01-23 14:55:23

标签: php api flickr json

我想通过调用json_decoded api请求中的变量来创建flickr照片网址,但我无法输出任何值...

以下是代码:

    $flickr = file_get_contents("http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=b5c6ad8347e6dbeb62743d1be36dc9e1&photoset_id=72157628996146229&format=json&nojsoncallback=1", TRUE);
    $flickr = json_decode($flickr, TRUE);
    var_dump($flickr);

echo $flickr[photoset][photo][id];

可悲的是,这没有输出......

有什么想法吗?

简单的:)

非常感谢。

2 个答案:

答案 0 :(得分:2)

访问数组元素

echo $flickr[photoset][photo][id];

应该是:

echo $flickr['photoset']['photo']['id'];

在用作数组元素键时,PHP strings DOCs必须被单个(')或双引号(")包围。如果不是,那么PHP将尝试将它们评估为constants DOCs

循环数据集

在这种情况下,json_decode() DOCs返回一个数据数组,因此您需要循环访问它才能访问它:

foreach ($flickr['photoset']['photo'] as $item) {
    echo $item['id'];
}

有关PHP foreach see the manual的更多信息。

答案 1 :(得分:1)

$flickr['photoset']['photo']是一系列照片。要打印所有照片ID,您应该:

foreach ($flickr['photoset']['photo'] as $photo) {
    echo $photo['id'];
}

另外,请确保引用数组键(['photoset']而不是[photoset]