2014-05-17 71 views
0

因此,儘管小時擺弄,我不明白爲什麼我的JSON查詢只返回CSV/TXT文件的最後一行結果,我試圖解析。循環瀏覽CSV和解析使用每個結果的JSON查詢

下面是代碼:

//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 

凡「4066」是RG12 0GD郵政編碼正確的變量,但沒有其他人返回結果,你可以看到。

請幫忙。

回答

0

join("",file("$csv_location")); 

串連所有行feom的文件一行沒有分隔符。以下爆炸()不再看到新行。所以你只在一條線上工作。 count($ kw)總是計算爲1,並且循環只運行一次。