Информация, которая мне нужна из массива - это уровень ниже информации, которую мне нужно получить - PullRequest
0 голосов
/ 19 декабря 2018

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

                  [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] не маршрут, а потом все остальное выходит из строя.Есть ли способ, которым я могу заказать по типу, но получить информацию в коротком имени?

1 Ответ

0 голосов
/ 19 декабря 2018

Для этого вам нужно написать цикл:

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

foreach ($jsondata["results"] as $result) {
    foreach ($result["address_components"] as $address) {
        if (in_array("route", $address["types"])) {
            $street = $address["short_name"];
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...