Вывести переменные Flickr из API с помощью json_decode - PullRequest
1 голос
/ 23 января 2012

Я хочу создать URL-адрес фотографии flickr, вызывая переменные из моего API-запроса json_decoded, но не могу заставить его выводить какие-либо значения ...

Вот код:

    $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 ]

2 голосов
/ 23 января 2012

Доступ к элементам массива

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

Должно быть:

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

В PHP строки DOCs должны быть заключены в одинарные (') или двойные кавычки (") при использовании в качестве ключей элементов массива. Если это не так, PHP попытается оценить их как константы DOCs .

Цикл по набору данных

В этом случае json_decode() DOCs возвращает массив данных, поэтому вам нужно будет зациклить его для доступа к нему:

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

Для получения дополнительной информации о PHP foreach см. Руководство .

1 голос
/ 23 января 2012

$flickr['photoset']['photo'] - это массив фотографий. Чтобы распечатать все фото идентификаторы, вам необходимо:

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

Также убедитесь, что вы заключили в кавычки ключи массива (['photoset'] вместо [photoset])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...