【问题标题】:Get values from multi-dimensional array via php (Google Places API) [duplicate]通过php(Google Places API)从多维数组中获取值[重复]
【发布时间】:2021-01-30 19:43:25
【问题描述】:

从 Google Places API 我得到一个具有这种结构的数组:

Array
(

    [result] => Array
        (
            [address_components] => Array
                (
                    [0] => Array
                        (
                            [long_name] => 1
                            [short_name] => 1
                            [types] => Array
                                (
                                    [0] => street_number
                                )

                        )

                    [1] => Array
                        (
                            [long_name] => Theaterplatz
                            [short_name] => Theaterpl.
                            [types] => Array
                                (
                                    [0] => route
                                )
                        )
                )
        )

    [status] => OK
)

如何从 street_number 中读取 [long_name] 的值?

我可以用这段代码“硬编码”它,但我需要它“动态”,因为“address_components”([0]、[1]、[2] 等)的键发生了变化取决于查询结果。

$details = google_places_text_search($query);
echo $details[result][address_components][0][long_name];

【问题讨论】:

  • 你正在寻找foreach循环。
  • 您的意思是您需要过滤[address_components] 中的记录,其中[types][0] == 'street_number' 并返回该记录的long_name

标签: php arrays google-maps multidimensional-array google-places-api


【解决方案1】:

只需遍历地址组件并访问您需要的任何数组键。像这样。

$details = google_places_text_search($query);
foreach ($details['result']['address_components'] as $addressComponent) {
    echo $addressComponent['long_name'];
}

【讨论】:

  • 这正是我想要的! :-) 不幸的是,当我尝试像这样读出“types[0]-key:echo $addressComponent['types[0]']; 我也尝试使用此处提供的代码 - 没有成功: -/ stackoverflow.com/questions/9991224/…
  • 请尝试 echo $addressComponent['types'][0];
  • 太棒了!这是缺少的链接!谢谢你们的帮助,伙计们!
猜你喜欢
  • 1970-01-01
  • 2019-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-06
  • 2018-07-22
  • 1970-01-01
  • 2017-11-16
相关资源
最近更新 更多