我需要显示Google Place API的所有结果。
请求:
$x = $_POST['lat'];
$y = $_POST['long'];
$StringR="https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=$x,$y&radius=1500&types=restaurant&sensor=false&key=AIzaSyBwCNVKStx8rdNuTDif0JuuRvKRxMtoPRQ";
我用以下方式显示所有结果:
$StringaRR= file_get_contents($StringR);
$StringaRRR= json_decode($StringaRR);
echo '<pre>';
print_r($StringaRRR);
我只打印第一个结果:
$name = $StringaRRR->results[0]->name;
echo "$name";
并且变量$name
正确地返回Google Place提供的第一个结果的名称。
现在我想要显示,订购,所有结果都来自我的请求名称:
$i=0;
foreach($StringaRRR as $namel){
echo $namel->result[$i]->name;
$i=$i+1;
}
正确打印变量$name
时,$ namel的打印返回此错误:
注意:尝试获取非对象的属性
答案 0 :(得分:1)
仅供将来使用
我找到了解决方案,问题出在循环foreach中,为了正确使用而不是 foreach 必须使用 for ,如下所示:
for ($index = 0; $index < count($StringaRRR->results); $index++) {
echo $StringaRRR->results[$index]->name;
}
代码的前一部分是正确的。