PHP获取未来三天天气接口

天气接口免费:http://wthrcdn.etouch.cn/weather_mini?city=城市名字"

数据格式:

PHP获取未来三天天气接口_第1张图片

PHP获取未来三天天气接口_第2张图片

天气接口数据接收为以下样式中的代码

/// 

*

//

其他代码为根据需求所写的

1.根据需求提取出日期与可预测天气求交集

2.若是有交集部分则进行格式化提取为日期,风力,天气状况

3.若是有雨的日期则进行剔除

 

 $value) {
	$array=$dataforcast['forecast'][$key];

//由于接口数据中日期数据为‘12日星期四’,进行字符串截取防止出现‘2日星期四’截取错误加入此判断
	if(mb_strlen($array['date'])==6){
		$resultforcast[$key]['date']=date('Y-m',time())."-".substr($array['date'],0,2);

	}else{
		$resultforcast[$key]['date']=date('Y-m',time())."-".substr($array['date'],0,1);
	}
	echo mb_strlen($array['date']);
	echo "
"; $resultforcast[$key]['type']=$array['type']; $patterns = "/\d/"; $strs=$array['fengli']; preg_match_all($patterns,$strs,$arr); if(count($arr[0])==1){ $resultforcast[$key]['windrage']=$arr[0][0]; }else{ $resultforcast[$key]['windrage']= ($arr[0][0] > $arr[0][1]) ? $arr[0][0] : $arr[0][1]; } //$resultforcast[$key]['fl']=$array['fl']; } //得到所求日期与预测日期交集 $ok=array(); $j=0; foreach ($resultforcast as $key => $value) { $i=0; while ($i<$daynum+1) { if($resultforcast[$key]['date']==$timem[$i]){ $ok[$j]=$resultforcast[$key]; $j++; } $i++; } } //数据封装 $result=array(); if(count($ok)>0){ $result['state']=1; //$result['farmid']=$id; $result['message']=$ok; }else{ $result['state']=0; //$result['farmid']=$id; $result['message']=$ok; } //封装成json $resss=json_encode($result); //var_dump($dataforcast); // var_dump($ok); $deploywheather=json_decode($resss,true); var_dump($deploywheather); //1.判断A时间与B时间,无交集剔除 //2.有交集进行交集时间是否有雨,有雨剔除,无雨保留 //3.无雨保留,修改时间 $okdata=array(); $j=0; foreach ($deploywheather['message'] as $key => $value) { $i=0; while ($i<2) { $each=$deploywheather['message'][$key]; if($each['date']==$jitime[$i]){ if(!(mb_strpos($each['type'], '雨', 0))){ $okdata[$j]=$each['date']; $j++; }else{ echo "剔除
"; } }else{ } $i++; } } var_dump($okdata); } ?>

 

你可能感兴趣的:(php,PHP,天气接口,天气预报)