如何迭代guzzle响应

时间:2017-08-31 10:37:40

标签: php laravel

我得到了api请求的回应。任何想法如何迭代响应,所以我得到持续时间文本和值。这是我的回答。我试图预约但不起作用:

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);

1 个答案:

答案 0 :(得分: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>';   
}