以前書いた記事のPHPでJSON形式データを扱えるようにするコード例のメモにあるコードをもとにlivedoor天気情報のWeatherHacksを使い天気予報を表示するコードを作成しました。
livedoor天気APIで天気予報を表示する
WEBサービス:Weather Hacks(livedoor天気API)
データ形式:JSON
使用時の注記:クレジット表示が必要
下のコードは、地域別のidを参考にリクエスト用のURL($base_url)に設定するパラメータ(city)を設定して、取得したデータ(JSON)をPHPオブジェクト($obj)にしたあと、データ($obj)を使い天気情報を表示するプログラムです。
<?php $base_url = "http://weather.livedoor.com/forecast/webservice/json/v1?city=016010"; $json = file_get_contents($base_url); $json = mb_convert_encoding($json, 'UTF-8'); $obj = json_decode($json, true); echo '<table border="1" cellspacing="0" cellpadding="5" style="width: 250px;"><tbody><tr><td colspan="3">'; echo $obj['location']['city'] . 'の天気'; echo '</td></tr><tr>'; foreach($obj['forecasts'] as $fc) { echo '<td>'; echo $fc['dateLabel'] . '<br />'; echo $fc['telop'] . '<br />'; echo '<img src="' . $fc['image']['url'] . '"/>'; echo '</td>'; } echo '</tr></tbody></table>'; echo 'copyright <a href="' . $obj['copyright']['image']['link'] . '">' . $obj['copyright']['image']['title'] . '</a>'; ?>
上のプログラムを実行した結果が下の天気画像になります。
スポンサーリンク
コメント