首先获取API密钥并构造请求URL,然后使用PHP的cURL发送GET请求获取空气质量数据,接着通过json_decode解析JSON响应提取AQI、PM2.5、PM10等指标,最后进行错误处理与数据展示。

调用空气质量API获取环境数据在城市健康监测、出行建议等场景中非常实用。PHP作为服务端常用语言,非常适合用来定时抓取和处理这类公开API数据。本文教你如何使用PHP发起HTTP请求,调用空气质量API,并解析返回的JSON数据。
选择合适的空气质量API
目前多个平台提供免费或付费的空气质量数据接口,常见选择包括:
AQICN(http://aqicn.org):覆盖全球城市,需申请Token OpenWeatherMap:支持空气质量扩展,注册后获取API Key 中国生态环境部公开接口:部分城市实时发布,适合国内项目以 OpenWeatherMap 为例,其空气质量API端点为:
http://api.openweathermap.org/data/2.5/air_pollution?lat={lat}&lon={lon}&appid={API_KEY}
使用PHP发送GET请求获取数据
PHP可以通过 cURL 或 file_get_contents 发起HTTP请求。推荐使用cURL,控制更灵活。
示例代码:
立即学习“PHP免费学习笔记(深入)”;
$lat = 39.9042; // 北京纬度$lon = 116.4074; // 北京经度$apiKey = 'your_api_key_here';$url = "http://api.openweathermap.org/data/2.5/air_pollution?lat={$lat}&lon={$lon}&appid={$apiKey}";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_TIMEOUT, 10);curl_setopt($ch, CURLOPT_USERAGENT, 'AirQuality App v1.0');$response = curl_exec($ch);if (curl_error($ch)) { die('请求失败: ' . curl_error($ch));}curl_close($ch);登录后复制解析JSON响应并提取关键指标
API返回的是JSON格式数据,包含PM2.5、PM10、NO2、SO2等污染物浓度及AQI(空气质量指数)。
SEEK.ai AI驱动的智能数据解决方案,询问您的任何数据并立即获得答案
100 查看详情
使用 json_decode() 将响应转为PHP数组:
$data = json_decode($response, true);if (isset($data['list']) && count($data['list']) > 0) { $air = $data['list'][0]; echo "AQI: " . $air['main']['aqi'] . "\n"; echo "PM2.5: " . $air['components']['pm2_5'] . " µg/m³\n"; echo "PM10: " . $air['components']['pm10'] . " µg/m³\n"; echo "臭氧(O3): " . $air['components']['o3'] . " µg/m³\n"; echo "一氧化碳(CO): " . $air['components']['co'] . " µg/m³\n";} else { echo "未获取到空气质量数据。\n";}登录后复制AQI通常分为6级:
1 = 优,2 = 良,3 = 轻度污染,4 = 中度污染,5 = 重度污染,6 = 严重污染
错误处理与请求优化建议
实际应用中需考虑网络异常、配额限制等问题。
检查HTTP状态码,非200时记录日志 缓存结果避免频繁请求(如每30分钟一次) 使用Cron定时任务自动更新数据 对敏感信息(如API Key)使用配置文件隔离可加入简单判断:
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);if ($httpCode !== 200) { error_log("API请求异常,状态码:{$httpCode}");}登录后复制基本上就这些。只要拿到API权限,构造正确URL,用cURL获取再解析JSON,就能把实时空气质量数据接入你的PHP项目。不复杂但容易忽略细节,比如单位、时区、错误处理。
以上就是如何用PHP调用API获取空气质量数据_PHP空气质量API调用与环境数据解析教程的详细内容,更多请关注php中文网其它相关文章!