我已经阅读并尝试了一些在其他帖子中找到的具有类似问题的代码,但我找不到解决方案。
我正在使用这个API:https://api.ipma.pt/open-data/forecast/meteorology/cities/daily/1100900.json 它返回以下内容:
{
"owner": "IPMA",
"country": "PT",
"data": [
{
"precipitaProb": "0.0",
"tMin": "12.6",
"tMax": "24.0",
"predWindDir": "N",
"idWeatherType": 3,
"classWindSpeed": 2,
"longitude": "-8.8069",
"forecastDate": "2020-05-22",
"latitude": "39.7473"
},
{
"precipitaProb": "0.0",
"tMin": "13.1",
"tMax": "24.2",
"predWindDir": "N",
"idWeatherType": 5,
"classWindSpeed": 2,
"longitude": "-8.8069",
"forecastDate": "2020-05-23",
"latitude": "39.7473"
},
{
"precipitaProb": "0.0",
"tMin": "12.8",
"tMax": "26.5",
"predWindDir": "NW",
"idWeatherType": 2,
"classWindSpeed": 1,
"longitude": "-8.8069",
"forecastDate": "2020-05-24",
"latitude": "39.7473"
},
{
"precipitaProb": "0.0",
"tMin": "13.4",
"tMax": "26.0",
"predWindDir": "NW",
"idWeatherType": 5,
"classWindSpeed": 1,
"longitude": "-8.8069",
"forecastDate": "2020-05-25",
"latitude": "39.7473"
},
{
"precipitaProb": "3.0",
"tMin": "16.3",
"tMax": "31.7",
"predWindDir": "E",
"idWeatherType": 2,
"classWindSpeed": 2,
"longitude": "-8.8069",
"forecastDate": "2020-05-26",
"latitude": "39.7473"
}
],
"globalIdLocal": 1100900,
"dataUpdate": "2020-05-22T14:31:04"
}
我需要从">data"数组中获取几个值。
到目前为止,我有这个:
<?php
$api_url = file_get_contents('https://api.ipma.pt/open-data/forecast/meteorology/cities/daily/1100900.json');
$forecastLeiria = json_decode($api_url);
var_dump($forecastLeiria);
?>
即使 API 工作正常,也返回NULL。
干杯!
我已经尝试过您的代码,它在我的终端工作正常。 此问题的可能原因可能是您的 PHP 配置。 请运行phpinfo()
,滚动到"核心"部分并检查allow_url_fopen指令是否已打开。如果它已关闭,则需要在php.ini配置文件中打开它。 它是允许PHP脚本在互联网上打开公共文件的指令,因此影响file_get_contents
函数如何处理公共文件。