#php
#php
Вопрос:
Я пытаюсь взять из bing api связанные результаты и написать скрипт, который принимает меня с помощью print_r ($value) это
Array
(
[0] => stdClass Object
(
[__metadata] => stdClass Object
(
[uri] => https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/RelatedSearch?Market='en-US'amp;Query='car'amp;$skip=0amp;$top=1
[type] => RelatedSearchResult
)
[ID] => 8bbe5043-f85b-41b3-b044-3649628fc5cf
[Title] => Cars Games
[BingUrl] => http://www.bing.com/search?q=Cars Games
)
[1] => stdClass Object
(
[__metadata] => stdClass Object
(
[uri] => https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/RelatedSearch?Market='en-US'amp;Query='car'amp;$skip=1amp;$top=1
[type] => RelatedSearchResult
)
[ID] => b9df73ab-c410-4480-b172-2719643d1120
[Title] => Car Pictures
[BingUrl] => http://www.bing.com/search?q=Car Pictures
)
)
Как я могу взять [Title] и [BingUrl] из этого массива? Спасибо.
Комментарии:
1. разве это не работает
$array[0]->Title
и$array[0]->BingUrl
Ответ №1:
Используется []
для доступа к элементам массива и используется ->
для доступа к элементам объекта.
В вашем случае это было бы $arr[$index]->Title
и $arr[$index]->BingUrl
Большинство API предоставляют результаты в формате JSON, поэтому вы можете избавить себя от некоторой головной боли, используя json_decode($api_result, 1)
для декодирования их как массив вместо объекта.
Ответ №2:
Если значение $ равно массиву, вы можете использовать этот код
foreach ($value as $item)
{
echo $item->Title;
echo $item->BingUrl
}