我需要从数组中获取的信息比我需要获取的信息还低

时间:2018-12-19 16:30:03

标签: php arrays google-api

对不起,标题不好,我使用的是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]不是路线,然后其他所有东西都会出现故障。 有什么方法可以按类型排序,但可以在short_name中获取信息?

1 个答案:

答案 0 :(得分:0)

您将为此编写一个循环:

此代码可能会有所帮助:

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