如何在PHP中打印对象数组的单个元素?
我找到了一个使用GoogleAPI将地址转换为GPS经度/纬度的类 我可以打印所有数组:如何在PHP中打印对象数组的单个元素?,php,google-maps,object,Php,Google Maps,Object,我找到了一个使用GoogleAPI将地址转换为GPS经度/纬度的类 我可以打印所有数组:print\r($geo->address(我的地址) 它将显示 Array ( [0] => stdClass Object ( [location] => stdClass Object ( [lat] => 53.1243946
print\r($geo->address(我的地址)
它将显示
Array
(
[0] => stdClass Object
(
[location] => stdClass Object
(
[lat] => 53.1243946
[lng] => 18.001958
)
[city] => Bydgoszcz
[street] => MarszaĹka Focha
[number] => 4
[code] => 85-070
)
)
但我不能打印单个元素。我需要将location->lat/lng添加到变量中,但我不能将对象转换为字符串。我如何才能做到这一点
$lat = implode(",", $geo->adress('Focha 4, Bydgoszcz'); // doesn't work at all.
要从对象中获取“lat”和“lng”值,请尝试以下操作:
$lat = $geo[0]->location['lat'];
$lng = $geo[0]->location['lng'];
编辑:仔细查看您的数据,这可能更有帮助:
$my_geo = $geo->adress(my address);
$lat = $my_geo[0]->location->lat;
$lng = $my_geo[0]->location->lng;
编辑:关于注释中说明的错误,不能将GeoGoogle类型的对象用作数组
试试这个:
要从对象中获取“lat”和“lng”值,请尝试以下操作:
$lat = $geo[0]->location['lat'];
$lng = $geo[0]->location['lng'];
编辑:仔细查看您的数据,这可能更有帮助:
$my_geo = $geo->adress(my address);
$lat = $my_geo[0]->location->lat;
$lng = $my_geo[0]->location->lng;
编辑:关于注释中说明的错误,不能将GeoGoogle类型的对象用作数组
试试这个:
要从对象中获取“lat”和“lng”值,请尝试以下操作:
$lat = $geo[0]->location['lat'];
$lng = $geo[0]->location['lng'];
编辑:仔细查看您的数据,这可能更有帮助:
$my_geo = $geo->adress(my address);
$lat = $my_geo[0]->location->lat;
$lng = $my_geo[0]->location->lng;
编辑:关于注释中说明的错误,不能将GeoGoogle类型的对象用作数组
试试这个:
要从对象中获取“lat”和“lng”值,请尝试以下操作:
$lat = $geo[0]->location['lat'];
$lng = $geo[0]->location['lng'];
编辑:仔细查看您的数据,这可能更有帮助:
$my_geo = $geo->adress(my address);
$lat = $my_geo[0]->location->lat;
$lng = $my_geo[0]->location->lng;
编辑:关于注释中说明的错误,不能将GeoGoogle类型的对象用作数组
试试这个:
您不能在此处使用内爆
,因为您尝试访问的值是一个对象。user3712744想知道“echo$res[0]->location->lat有效吗?”您不能在此处使用内爆
,因为您尝试访问的值是一个对象。user3712744想知道“echo$res[0]->location->lat有效吗?”您不能在此处使用内爆
,因为您尝试访问的值是一个对象。user3712744想知道“echo$res[0]->location->lat有效吗?”您不能在此处使用内爆
,因为您尝试访问的值是一个对象。user3712744想知道“echo$res[0]->location->lat有效吗?”这可能会起作用,但您需要知道属性是否是公共的,或者是否定义了\u get
方法。@Brettsant如果我错了,请更正我,但是默认情况下StdClass对象的属性不是公共的吗?Mark m是对的。StdClass
具有所有公共动态属性。第二组调用是正确的一个你想要的。我对@mark-m的正确性没有问题,我们来这里是为了提供最好的答案,我找不到支持这一点的文档,有人能提供吗?@BrettSantore你是对的,关于这个主题的文档似乎不多-我能找到的最接近的是,这表示类属性没有声明为ppublic、private或protected将默认为public。因此,如果只声明一个属性而没有特定的可见性,它将被视为public。我认为这本身就回答了这个问题-但对我来说,实验是最好的。这可能会起作用,但您需要知道这些属性是否是public,或者是否定义了\u get
方法。@BrettS如果我错了,请更正我,但是默认情况下,StdClass对象的属性不是公共的吗?Mark m是对的。StdClass
具有所有公共动态属性。第二组调用是您想要的正确调用。我对@Mark-m的正确性没有问题,我们在这里提供最佳答案,我找不到documentation为了支持这一点,有人能提供吗?@Brettsan尽管你说得对,但似乎没有太多关于这个主题的文档-我能找到的最接近的文档是,它说未声明为public、private或protected的类属性将默认为public。因此,如果只声明一个属性而没有特定的可见性,它就是被视为公共的。我认为这就回答了这个问题-但对我来说,实验是最好的。这可能会起作用,但你需要知道属性是否是公共的,或者是否定义了\u get
方法。@Brettsant如果我错了,请纠正我,但是默认情况下StdClass对象的属性不是公共的吗?Mark m是对的。stdClass
具有所有公共动态属性。第二组调用是您想要的正确调用。我认为@mark-m是正确的,我们来这里是为了提供最佳答案,我找不到支持这一点的文档,请有人提供吗?@brettsant您说得对,文档似乎不多关于这个主题,我能找到的最接近的是,它说没有声明为public、private或protected的类属性将默认为public。因此,如果只声明一个属性而没有特定的可见性,它将被视为public。我认为这就回答了这个问题-但对我来说,实验是最好的。这可能有效,但你需要要知道属性是否是公共的,或者是否定义了\u get
方法。@Brettsant如果我错了,请更正我,但是默认情况下StdClass对象的属性不是公共的吗?Mark m是对的。StdClass
具有所有公共动态属性。第二组调用是您想要的正确调用。我没有p问题是@mark-m是对的,我们在这里提供最好的答案,我找不到支持这一点的文档,有人能提供吗?@BrettSantore你是对的,关于这个主题的文档似乎不多-我能找到的最接近的是,它说类属性没有声明为公共、私有或受保护将默认为public。因此,如果一个属性只是声明而没有特定的可见性,它将被视为public。我认为这就回答了这个问题——但对我来说,实验是最好的。