我正在尝试编写一小段代码。我试图从json数组中提取数据,并且我对这个特定的编码知之甚少。任何方向或帮助将不胜感激。感谢
最后一行显示在浏览器中加载时返回正确的路由列表而没有错误的链接。
<?php
function getroute($slat,$slong,$elat,$elong)
{
$url = 'http://maps.googleapis.com/maps/api/directions/json? origin='.trim($slat).','.trim($slong).'&destination='.trim($elat).','.trim($elong).'&sensor=false&mode=driving';
$json = @file_get_contents($url);
$data=json_decode($json);
$status = $data->status;
if($status=="OK")
return $data->routes->legs->distance->text;
else
return false;
}
//start
$slat = '36.019432';
$slong = '-84.227957';
//end
$elat = '36.0350416';
$elong = '-84.0199746';
$address = getroute($slat,$slong,$elat,$elong);
if($address) {echo $address;} else {echo "Not found";}
echo "
<br>
sLat: $slat<br>
sLong: $slong<br>
eLat: $elat<br>
eLong: $elong<br>";
echo 'http://maps.googleapis.com/maps/api/directions/json? origin='.trim($slat).','.trim($slong).'&destination='.trim($elat).','.trim($elong).'&sensor=false&mode=driving';
?>
我也尝试过:
return $data->routes[0]->legs[0]->distance->text;
和
return $data->routes[0]->legs[0]->distance[0]->text;
答案 0 :(得分:0)
是的,你必须遍历所有数组。
$data->routes
是一个数组
$data->routes[0]->legs
也是一个数组
因此,您需要提取您想要返回的内容。