Я работаю с API-интерфейсом Twitter для сбора информации о трендах. API возвращает JSON, и я пытаюсь разобрать данные.Итерация через вложенный массив в PHP
Вот мой соответствующий код (я не включая мои ключи и такие, и т.д.):
$twitter = new TwitterAPIExchange($settings);
$string = json_decode($twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest(), true);
if($string["errors"][0]["message"] != "")
{echo "<h3>Sorry, there was a problem.</h3><p>Twitter returned the following error message:</p><p><em>"
.$string[errors][0]["message"]."</em></p>";exit();}
foreach($string as $items)
{
echo "Name: ". $items['name']."<br />";
echo "Volume: ". $items['tweet_volume']."<br /><hr />";
}
Что возвращает вложенный массив, который выглядит вроде как это:
Array
(
[0] => Array
(
[trends] => Array
(
[0] => Array
(
[name] => #NationalMargaritaDay
[url] => http://twitter.com/search?q=%23NationalMargaritaDay
[promoted_content] =>
[query] => %23NationalMargaritaDay
[tweet_volume] => 49400
)
[1] => Array
(
[name] => #WORKvideo
[url] => http://twitter.com/search?q=%23WORKvideo
[promoted_content] =>
[query] => %23WORKvideo
[tweet_volume] => 103959
)
... и так далее (я не буду перечислять весь массив).
Что мне нужно сделать, так это выполнить итерацию через массив [тенденции], а не родительский массив. Как я могу изменить свой цикл foreach, чтобы сделать это? В качестве альтернативы, могу ли я поставить шаг или два перед каждым для каждого, чтобы я выполнял итерацию через внутренний массив? Мне нужно иметь возможность извлекать [name]
и [twitter_volume]
из каждого элемента.
Это значение '$ string'? – Barmar