#php #arrays #json #foreach #stdclass
#php #массивы #json #foreach #стандартный класс
Вопрос:
Я пытаюсь получить информацию из $ array1 ниже.
Я без проблем получаю название места проведения и адрес местоположения, выполнив:
$array2 = array();
$array3 = array();
foreach($array1 as $item){
$array2[] = $item->venue->name;
$array3[] = $item->venue->location->address;
}
Но теперь мне нужно получить URL фотографий, и я не знаю, как это сделать.
Миллион благодарностей!
$array1:
Array
(
[0] => stdClass Object
(
[venue] => stdClass Object
(
[name] => a name
[location] => stdClass Object
(
[address] => main street
)
)
[photos] => stdClass Object
(
[count] => 1
[items] => Array
(
[0] => stdClass Object
(
[url] => http://folder/photo1.jpg
.
.
)))
.
.
Ответ №1:
$array1[0]->photos->items[0]->url
Помните — вы получаете доступ к массивам с помощью [index]
круглых скобок, к объектам со ->
стрелками.
Ответ №2:
Непроверенный код:
$array2 = array();
$array3 = array();
$photos = array();
foreach($array1 as $item){
$array2[] = $item->venue->name;
$array3[] = $item->venue->location->address;
$item_photo_urls = array();
foreach($item->photos->items as $photo){
$item_photo_urls[] = $photo->url;
}
$photos[] = $item_photo_urls;
}
Теперь у вас есть третий массив под названием photos , который содержит все URL-адреса фотографий.
Комментарии:
1. Ты опередил меня в этом oned для цикла, который проверяет наличие нескольких изображений и не использует $ array4 в качестве имени переменной ; o)
Ответ №3:
Попробуйте это :
$url = $item->photos->items[0]->url;