使用php json从外部URL获取数据?

时间:2015-08-06 06:15:59

标签: php json google-maps google-maps-api-3

我尝试使用以下代码在PHP中使用json从外部URL中提取数据:

<?php
error_reporting(-1);
ini_set('display_errors', 'On');
$url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=37.76893497,-122.42284884&sensor=false";
$json = file_get_contents($url);
$json_data = json_decode($json, true);
echo $json_data["formatted_address"];
?>
但是,我的页面上什么都没有。事实上,我得到了这个错误:

Notice: Undefined index: formatted_address on line 7 

我有什么遗失的吗?

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

'formatted_address'是主数组'results'的键,因此您应该循环$json_data['results']并搜索键'formatted_address'

答案 1 :(得分:1)

试试这个,

echo $json_data['results'][0]['formatted_address'];

答案 2 :(得分:1)

您没有提供正确的INDEX。对于第一个结果,正确INDEX$json_data['results'][0]['formatted_address'];

使用foreach循环打印所有地址。

尝试

$url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=37.76893497,-122.42284884&sensor=false";
$json = file_get_contents($url);
$json_data = json_decode($json, true);

foreach($json_data['results'] as $item)
{
    echo $item['formatted_address']."<br />";
}