2017-08-31 91 views
2

我收到了api請求的反應。任何想法如何迭代響應,所以我得到的持續時間的文本和價值。這是我的迴應。我曾嘗試的foreach但不工作:如何迭代guzzle響應

array:1 [▼ 
    "elements" => array:1 [▼ 
    0 => array:3 [▼ 
     "distance" => array:2 [▼ 
     "text" => "293 mi" 
     "value" => 470780 
     ] 
     "duration" => array:2 [▼ 
     "text" => "4 hours 50 mins" 
     "value" => 17411 
     ] 
     "status" => "OK" 
    ] 
    ] 

我這是怎麼得到這個JSON

$items = json_decode((string) $response->getBody(), true)['rows'][0]; 
     dd($items); 
+0

顯示你的代碼? –

+0

現在檢查@JonStirling –

+0

所以你顯示的輸出是從'dd'?你也可以顯示你說的不工作的foreach嗎? –

回答

4

響應編碼爲json,所以第一次使用它,你應該將其解碼到php-array和然後解析它。

試試這個代碼:

$items = json_decode((string) $response->getBody(), true)['rows'][0]; 
foreach ($items['elements'] as $key => $item) { 
    echo $item['duration']['text'] . ': '; 
    echo $item['duration']['value'] . '<br>'; 
}