2017-08-02 8 views
0

私は過去24時間の特定の場所のaccuweather APIからデコードされたjsonデータをエコーし​​ようとしています。時間 - 温度 日:出力はこのようなものになるだろう「『都市』昨日の天気は 日だった。。時間 - 温度 日:hour24 - temp24ECHOの歴史的なACCUWEATHERデータJSON

これは中のデータです。 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... 
} 

事前のおかげで。

+0

申し訳ありません。わかりません。あなたのテキストは「temperatur will be ....」と言っていますが、データには過去のデータが表示されます。あなたは何をしようとしているのですか?タイムスタンプと各履歴アイテムの温度を出力しようとしていますか? – Andreas

+0

それは私の部分の文法エラーです、一時は*最後の24時間、その時間の毎時とその時のタイムスタンプを出そうとしています – R1ddler

+0

それを得ました!下の回答を投稿します。 – Andreas

答えて

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... 
} 

date()関数を表示するためのEDITです。

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... 
} 

私は1時間 "H"を使用しました。 9:55に "G"を使用したい場合は、フォーマット09:55を表示します。
http://php.net/manual/en/function.date.php

+0

ありがとう、それは魅力のように働いた。今私は自分のコードで何が間違っているのかを見ています。私はJSONデータの経験はあまりありません。LocalObservationDateTimeをカットして日付と時刻のみを出力する方法はありますか?この2017-08-02T11:55:00 + 02:00から2017-08-02 11:55:00のようなものまで – R1ddler

+0

@ R1ddlerはい。しかし、私はむしろそれのために別のアイテムを使うだろう。 'EpochTime'は観測のUNIX時間です。 phpの設定で正しいタイムゾーンがあるなら、あなたに良いタイムスタンプを与えるべきです。私の答えをあなたに示すように更新します。 – Andreas