2017-08-31 104 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>'; 
}