从PHP卷曲响应中提取数据

时间:2016-11-15 19:10:28

标签: php json curl

  

我的代码是

$url = "URL";
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1
));
$result = curl_exec($curl); 
var_dump($result);
$json = json_decode($result);
print_r($json);

curl_close($curl);
  

来自 var_dump($ result)的回复是 -

string(1866) "{"status":true,"result":[{"time":"2016-11-15T19:20:27.000Z"},{"time":"2016-11-15T19:18:15.000Z"},{"time":"2016-11-15T19:15:03.000Z"},
  

我从 print_r($ json)得到的回复是 -

stdClass Object
(
    [status] => 1
    [result] => Array
    (
        [0] => stdClass Object
            (
                [time] => 2016-11-15T19:20:27.000Z
            )

        [1] => stdClass Object
            (
                [time] => 2016-11-15T19:18:15.000Z
            )

        [2] => stdClass Object
            (
                [time] => 2016-11-15T19:15:03.000Z
            )   

我需要将时间值转换为某个变量。

  

我在Javscript中做过的事情是 -

var response = JSON.parse(xmlHttpSerie.responseText);
response.forEach(function(items)
{
    currentTime = items.time;
}

有谁能告诉我如何从变量的响应中获取时间值?

1 个答案:

答案 0 :(得分:1)

echo $json['result'][0]['time'];

  

在对原始问题进行重大更改后编辑:

您需要使用json_decode()的第二个参数将对象转换为关联数组。然后,您可以使用foreach()循环遍历数组和打印时间:

$json = json_decode($result, TRUE);
foreach ($json['result'] as $index => $v) {
  echo $v['time'].'<br>';
}