本文目录一览:
php获取天气预报的代码
<?php
$URLStyle = "";
$chinaURL = sprintf($URLStyle, "china");
$chinaStr = file_get_contents($chinaURL);
$chinaObj = simplexml_load_string($chinaStr);
$chinaObjLen = count($chinaObj->city);
echo "chinaObjLen = ".$chinaObjLen."\n";
for ($i=0; $i < $chinaObjLen; $i++) {
//遍历省一级节点,共37个
$level1 = $chinaObj->city[$i]["pyName"];
$shengjiURL = sprintf($URLStyle, $level1);
$shengjiStr = file_get_contents($shengjiURL);
$shengjiObj = simplexml_load_string($shengjiStr);
$shengjiObjLen = count($shengjiObj->city);
for ($j=0; $j < $shengjiObjLen; $j++) {
//遍历市一级节点
$level2 = $shengjiObj->city[$j]["pyName"];
$shijiURL = sprintf($URLStyle, $level2);
$shijiStr = file_get_contents($shijiURL);
$shijiObj = simplexml_load_string($shijiStr);
//直辖市和海南、台湾、钓鱼岛等没有县级节点
if(!$shijiObj) {
echo "WARNNING: not exsit next level node. - ".$level1."-".$shijiURL."\n";
echo ' "'.$shengjiObj->city[$j]["cityname"].'" = ';
echo $shengjiObj->city[$j]["url"].",\n";
continue;
}
$shijiObjLen = count($shijiObj->city);
for ($k=0; $k < $shijiObjLen; $k++) {
//遍历县一级节点
$xianji_code = $shijiObj->city[$k]["url"];
echo ' "'.$shijiObj->city[$k]["cityname"].'" = ';
echo $shijiObj->city[$k]["url"].",\n";
}
}
}
?>
通过XML接口根节点递归获得全国几千个县以上城市code code的代码。
如何使用PHP调用API接口实现天气查询功能
最近在做微信公众平台测试时,想在里面子菜单上添加查询未来几天(包括今天)天气的功能,就查找了下好用的天气预报查询接口API,使用比较多的有:国家气象局天气接口、新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等,我使用的是百度提供的免费天气查询接口API,下面与大家分享下...
- 查询方式:
百度提供的是根据纬度和城市名查询天气情况。 - 接口事例:
- 接口参数说明:
- 返回结果说明:
- 示例代码:
//城市名
$city = '上海';
//获取json格式的数据
$str = file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=".$city."&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ");
//对json格式的字符串进行编码
$arr = json_decode($str, TRUE);
print_r($arr);
- 返回页面的是json编码后的数据:
Array
(
[error] = 0
[status] = success
[date] = 2014-03-17
[results] = Array
(
[0] = Array
(
[currentCity] = 上海
[weather_data] = Array
(
[0] = Array
(
[date] = 周一(今天, 实时:19℃)
[dayPictureUrl] =
[nightPictureUrl] =
[weather] = 晴
[wind] = 西南风3-4级
[temperature] = 13℃
)
[1] = Array
(
[date] = 周二
[dayPictureUrl] =
[nightPictureUrl] =
[weather] = 多云转阴
[wind] = 东北风3-4级
[temperature] = 24 ~ 9℃
)
[2] = Array
(
[date] = 周三
[dayPictureUrl] =
[nightPictureUrl] =
[weather] = 中雨转小雨
[wind] = 东北风3-4级
[temperature] = 15 ~ 8℃
)
[3] = Array
(
[date] = 周四
[dayPictureUrl] =
[nightPictureUrl] =
[weather] = 多云转晴
[wind] = 北风3-4级
[temperature] = 14 ~ 6℃
)
)
)
)
)
- PHP中自带了处理json格式字符串的内置函数,下面做一个事例,并给出完整代码:
<?php
//城市名
$city = '上海';
//获取json格式的数据
$str = file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=".$city."&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ");
//对json格式的字符串进行编码
$arr = json_decode($str, TRUE);
echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."<br /><br />";
foreach ($arr['results'][0]['weather_data'] as $val) {
echo $val['date']."<br/>";
echo "天气:{$val['weather']}<br/>";
echo "风向:{$val['wind']}<br/>";
echo "温度:{$val['temperature']}<br/><br />";
}
?>
- 返回的内容如下:
谁帮我找一个天气预报网页代码
代码如下:
<iframe id="weatherwin" border="0" name="weatherwin" marginWidth="0" marginHeight="0" src="" frameBorder="no" width="160" scrolling="no" height="60"></iframe>
也可以用265.com的代码。在那里上网就显示那里的天气。