我尝试使用以下代码在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
我有什么遗失的吗?
任何帮助将不胜感激。
答案 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 />";
}