Получить URL-адрес изображения из твиттера api-параметра php
Я пытаюсь получить и отобразить изображения, размещенные в твиттере с помощью php через параметр entity. У меня есть include_entities в моем URL и я могу видеть сущности в возвращенном json.
В моем цикле foreach я делаю следующее:
foreach($results as $result){
$media_url = $result->entities->media->media_url;
$media_size_h = $result->entities->media->sizes->small->h;
$media_size_w = $result->entities->media->sizes->small->w;
...
}
Однако это ничего не возвращает.
Для моего вывода у меня есть...
if(strlen($media_url) > 0)
{
//format table for tweets with images
} else {
//format table for regular tweets
}
И это JSON...
array(20) {
[0]=>
object(stdClass)#5 (21) {
...
["entities"]=>
object(stdClass)#7 (4) {
["media"]=>
array(1) {
[0]=>
object(stdClass)#8 (10) {
["type"]=>
string(5) "photo"
["media_url"]=>
string(38) "http://photourl.jpg"
...
["sizes"]=>
object(stdClass)#9 (4) {
["thumb"]=>
object(stdClass)#10 (3) {
["resize"]=>
string(4) "crop"
["h"]=>
int(150)
["w"]=>
int(150)
}
...
}
Есть идеи, почему это не работает? Любая помощь приветствуется!
3 ответа
Решение
$result->entities->media->
это массив, как видно в структуре... попробуйте использовать
$media_url = $result->entities->media[0]->media_url;
$results = json_decode($results);
Я думаю, что гораздо проще увидеть, как выбирать элементы, когда вы декодируете объекты json:)
Попробуйте в следующий раз:)
Я вполне могу ошибаться, но я считаю, что вам нужно [] до и после чисел в операторах if.