我有以下PHP对象,我想从中访问特定值,但我很难理解如何启动:
kamranahmedse\Geocode Object (
[service_url:kamranahmedse\Geocode:private] => http://maps.googleapis.com/maps/api/geocode/json?sensor=false
[service_results:kamranahmedse\Geocode:private] => stdClass Object (
[results] => Array (
[0] => stdClass Object (
[address_components] => Array (
[0] => stdClass Object (
[long_name] => 112
[short_name] => 112
[types] => Array (
[0] => street_number
)
)
[1] => stdClass Object (
[long_name] => Imittou
[short_name] => Imittou
[types] => Array (
[0] => route
)
)
[2] => stdClass Object (
[long_name] => Cholargos
[short_name] => Cholargos
[types] => Array (
[0] => locality
[1] => political
)
)
[3] => stdClass Object (
[long_name] => Cholargos
[short_name] => Cholargos
[types] => Array (
[0] => administrative_area_level_5
[1] => political
)
) ...
例如,我如何访问:
[long_name] => Cholargos
答案 0 :(得分:3)
您尝试访问的变量是私有的,因此您无法直接访问它。
更好的方法是使用您正在使用的类提供的方法。 查看您提供的代码,我可以看到您正在使用https://github.com/kamranahmedse/php-geocode
以下是如何使用它来获取地点的示例:
<?php
require __DIR__."/vendor/autoload.php";
use kamranahmedse\Geocode;
$address = "Imittou 112 Cholargos 155 61 Greece";
$geocode = new Geocode($address);
echo $geocode->getLocality();
另外,查看类源代码,我们可以看到,当检索地址信息并填充局部变量时,long_name
用于填充局部性,这就是你想要的:
$this->locality = $component->long_name;
所以上面的代码示例应该回答你的问题。