我需要编写一个函数,以年份和温度作为输入,并返回给定年份中温度等于或低于给定温度的天数。由于数据是关于小时而不是天,因此需要找到小时数并将其除以 24。
示例:getDaysUnderTemp(2019, -10) 返回 13.92。
CSV 文件如下所示(年、月、日、小时、温度):
2019,1,1,0,0.1
2019,1,1,1,0.4
2019,1,1,2,0.8
2019,1,1,3,1.3
2019,1,1,4,1.8
...
2020,1,1,0,-3.9
到目前为止,我的代码如下所示(我是 php 新手):
function getDaysUnderTemp(int $targetYear, float $targetTemp): float {
$inputFile = fopen("data/temperatures-debug.csv", "r");
while (!feof($inputFile)) {
$file = fgetcsv($inputFile);
$hours = intval($file[3]);
if (intval($file[0]) === $targetYear and floatval($file[4]) <= $targetTemp) {
???
return ??? / 24;
}
fclose($inputFile);
}
return "error";
}
问题是我不知道如何迭代代表特定年份的小时数的列,然后将它们全部加在一起。