ECHO历史ACCUWEATHER数据JSON

时间:2017-08-02 10:23:27

标签: php json

我试图在过去的24小时内回复来自accuweather API的解码json数据到某个位置。输出将是这样的“昨天'城市'的天气是 日期:小时 - 温度 日期:小时 - 临时 。 。 。 日期:hour24 - temp24

这是JSON format

中的数据

这是我的代码,带有var转储并尝试以更复杂和更整洁的方式回显它。

$json = file_get_contents('http://dataservice.accuweather.com/currentconditions/v1/328328/historical/24?apikey=GKu1AhOuGN0aAnNEMyiWgKD5fAmo4dpN');

 //decode JSON to array
 $data = json_decode($json,true);

 //show data
 print_r($data);

 foreach ($data['list'] as $hour => $value) {
    echo "The temperature for the hour ". $hours ." was ". $value[Temperature]."<br/>";
    # code...
 }

提前致谢。

1 个答案:

答案 0 :(得分:0)

此代码将遍历每个时间戳并输出温度的时间戳和度量值 不确定你想要什么,但如果它不正确,这是一个很容易的改变。

<?php
$json = file_get_contents('http://dataservice.accuweather.com/currentconditions/v1/328328/historical/24?apikey=GKu1AhOuGN0aAnNEMyiWgKD5fAmo4dpN');

 //decode JSON to array
 $data = json_decode($json,true);

 //show data
 echo "<pre>";
// print_r($data);
echo "</pre>";
 foreach ($data as $value) {
    echo "The temperature for the hour ". $value["LocalObservationDateTime"] ." will be ". $value["Temperature"]["Metric"]["Value"]."<br/>";
                                                                                                         //  or "Imperial"
    # code...
 }

编辑以显示日期()功能。

foreach ($data as $value) {
    echo "The temperature for the hour ". date("Y-m-d H:i", $value["EpochTime"]) ." will be ". $value["Temperature"]["Metric"]["Value"]."<br/>";
    # code...
}

我用了“H”一小时。这将显示格式09:55,如果你想9:55使用“G”。
http://php.net/manual/en/function.date.php