因此,尽管有数小时的摆弄,但我无法理解为什么我的JSON查询只返回我试图解析的CSV / TXT文件中最后一行的结果。
以下是代码:
//Enter API Key Here
$api_key = 'AIzaSyB9Dq3w1HCxkS5qyELI_pZuTmdK8itOBHo';
$origin = 'RG12 1AA';
$output_type = 'json'; //xml or json
$csv_location = 'http://www.naturedock.co.uk/postcodes.csv';
//Do not edit
$base_url = 'https://maps.googleapis.com/maps/api/directions/';
$origin_url = '?origin=';
$destination_url = '&destination=';
$end_url = '&sensor=false&key=';
$page = join("",file("$csv_location"));
$kw = explode("\n", $page);
for($i=0;$i<count($kw);$i++){
$destination = $kw[$i];
echo $destination;
$raw_url = $base_url . $output_type . $origin_url . $origin . $destination_url . $destination . $end_url . $api_key;
$request_url = str_replace(' ', '', $raw_url);
$getJson = file_get_contents($request_url);
$routes = json_decode($getJson);
$result = $routes->routes[0]->legs[0]->distance->value;
echo $result . '<br>';
}
我得到的结果如下:
Distance by Post Code Generator v0.1 by Phil Hughes
RG12 0GA
RG12 0GB
RG12 0GC
RG12 0GD4066
&#39; 4066&#39;是RG12 0GD邮政编码的正确变量,但其他任何一个都没有返回结果,如您所见。
请帮忙。
答案 0 :(得分:0)
您
join("",file("$csv_location"));
将所有文件连接到没有分隔符的单行。以下explode()不再看到换行符。所以你只在一条线上工作。 count($ kw)总是计算为1,循环只运行一次。