livedoor天気APIのJSONを使いPHPで天気予報を表示するコード

以前書いた記事の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>';
?>

上のプログラムを実行した結果が下の天気画像になります。

livedoorWeather1

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です