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

调用空气质量API获取环境数据在城市健康监测、出行建议等场景中非常实用。PHP作为服务端常用语言,非常适合用来定时抓取和处理这类公开API数据。本文教你如何使用PHP发起HTTP请求,调用空气质量API,并解析返回的JSON数据。
目前多个平台提供免费或付费的空气质量数据接口,常见选择包括:
以 OpenWeatherMap 为例,其空气质量API端点为:
http://api.openweathermap.org/data/2.5/air_pollution?lat={lat}&lon={lon}&appid={API_KEY}
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);
API返回的是JSON格式数据,包含PM2.5、PM10、NO2、SO2等污染物浓度及AQI(空气质量指数)。
使用 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 = 严重污染
实际应用中需考虑网络异常、配额限制等问题。
可加入简单判断:
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode !== 200) {
error_log("API请求异常,状态码:{$httpCode}");
}
基本上就这些。只要拿到API权限,构造正确URL,用cURL获取再解析JSON,就能把实时空气质量数据接入你的PHP项目。不复杂但容易忽略细节,比如单位、时区、错误处理。
以上就是如何用PHP调用API获取空气质量数据_PHP空气质量API调用与环境数据解析教程的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号