PHP:使用Yahoo!天气RSS获取天气信息

可以通过获取Yahoo!天气RSS,就可以在自己网页上显示详细的天气信息。详细的说明文档在这里。下面是一些代码对应的文字。

// 代码代表的意思
$code=array(
	'0'=>'龙卷风',
	'1'=>'热带风暴',
	'2'=>'飓风',
	'3'=>'大雷雨',
	'4'=>'雷雨',
	'5'=>'雨夹雪',
	'6'=>'雨和雨夹雪',
	'7'=>'雨夹冰雹',
	'8'=>'冻毛毛雨',
	'9'=>'毛毛雨',
	'10'=>'冻雨',
	'11'=>'阵雨',
	'12'=>'阵雨',
	'13'=>'小雪',
	'14'=>'时有小雪',
	'15'=>'吹雪',
	'16'=>'雪',
	'17'=>'冰雹',
	'18'=>'雨雪',
	'19'=>'沙尘',
	'20'=>'雾',
	'21'=>'霾',
	'22'=>'烟雾',
	'23'=>'劲风',
	'24'=>'大风',
	'25'=>'冷',
	'26'=>'多云',
	'27'=>'晚上多云',
	'28'=>'白天多云',
	'29'=>'晚上局部多云',
	'30'=>'白天局部多云',
	'31'=>'晚上清爽',
	'32'=>'晴天',
	'33'=>'晚上晴朗',
	'34'=>'白天晴朗',
	'35'=>'雨夹冰雹',
	'36'=>'热',
	'37'=>'局部雷雨',
	'38'=>'偶有雷雨',
	'39'=>'偶有雷雨',
	'40'=>'偶有阵雨',
	'41'=>'大雪',
	'42'=>'偶有阵雪',
	'43'=>'大雪',
	'44'=>'部分多云',
	'45'=>'雷阵雨',
	'46'=>'阵雪',
	'47'=>'局部雷阵雨',
	'3200'=>'无法使用'
);

// 根据角度判断风向(wind direction)
function degtodir($wd){
	if(is_numeric($wd))$wd=$wd%360;
	switch(true){
	case(348.75<$wd||$wd<=11.25):return"北"; // N
	case(11.25<$wd&&$wd<=33.75):return"东北偏北"; // NNE
	case(33.75<$wd&&$wd<=56.25):return"东北"; // NE
	case(56.25<$wd&&$wd<=78.75):return"东北偏东"; // ENE
	case(78.75<$wd&&$wd<=101.25):return"东"; // E
	case(101.25<$wd&&$wd<=123.75):return"东南偏东"; // ESE
	case(123.75<$wd&&$wd<=146.25):return"东南"; // SE
	case(146.25<$wd&&$wd<=168.75):return"东南偏南"; // SSE
	case(168.75<$wd&&$wd<=191.25):return"南"; // S
	case(191.25<$wd&&$wd<=213.75):return"西南偏南"; // SSW
	case(213.75<$wd&&$wd<=236.25):return"西南"; // SW
	case(236.25<$wd&&$wd<=258.75):return"西南偏西"; // WSW
	case(258.75<$wd&&$wd<=281.25):return"西"; // W
	case(281.25<$wd&&$wd<=303.75):return"西北偏西"; // WNW
	case(303.75<$wd&&$wd<=326.25):return"西北"; // NW
	case(326.25<$wd&&$wd<=348.75):return"西北偏北"; // NNW
	default:return null;
	}
}

No related posts.

Posted by on 2012-01-06.
Categories & Tags: PHP