Информация, которая мне нужна из массива — это уровень ниже информации, которую мне нужно получить

Извините за ужасный заголовок, я использую API геокодирования Google, но формат, который они используют для ответа, затрудняет мне поиск значений в правильных переменных:

                  [address_components] => Array
(
[0] => Array
(
[long_name] => Estrada Silveira da Mota
[short_name] => Estr. Silveira da Mota
[types] => Array
(
[0] => route
)

)

[1] => Array
(
[long_name] => Posse
[short_name] => Posse
[types] => Array
(
[0] => political
[1] => sublocality
[2] => sublocality_level_1
)

Что я делал, так это заказывал по первому номеру:

  $rua = $json['results']['0']['address_components']['0']['short_name'];

Но это меняется, иногда [0] это не маршрут, а потом все остальное выходит из строя.
Есть ли способ, которым я могу заказать по типу, но получить информацию в коротком имени?

0

Решение

Вы должны написать цикл для этого:

Этот код может помочь:

foreach ($jsondata["results"] as $result) {
foreach ($result["address_components"] as $address) {
if (in_array("route", $address["types"])) {
$street = $address["short_name"];
}
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector