首页 > 解决方案 > 使用 PHP 从 json 文件中获取最大值/最小值

问题描述

我正在尝试从 json src 获取最小和最大温度值。我没有得到我想要的结果。这就是我到目前为止所拥有的。

任何帮助是极大的赞赏

<?php  

$url = 'https://samples.openweathermap.org/data/2.5/forecast?id=524901&appid=b6907d289e10d714a6e88b30761fae22'; 
$data = file_get_contents($url); 
$forecasts = json_decode($data); 
$length = count($forecasts->list);

    for ($i = 0; $i < $length; $i++) {
        $val = round($forecasts->list[$i]->main->temp, 0);
    }       

    $min = min($val);
    $max = max($val);

    echo "max: ". $max ." - min: ". $max;

?>

标签: phpjson

解决方案


您正在覆盖循环$val中每次传递的值。for您实际想要做的是将每个值推入一个数组,然后您可以获取以下的最小值和最大值:

$val = array();
for ($i = 0; $i < $length; $i++) {
    $val[] = round($forecasts->list[$i]->main->temp, 0);
}       

$min = min($val);
$max = max($val);

推荐阅读