我是 PHP 新手,并尝试使用 fscanf 读取 CSV 文件以确定最小值和最大值。我之前的问题概述了我实际尝试做的事情。我正在尝试使用 fscanf 来查找 CSV 列的最大值和最小值,如下所示。
$file = fopen('<filename>', 'r');
$a = 0;
$b = 0;
$first = true;
while (fscanf($file, '%d%d', $a, $b)) {
if ($first)
{
$min = $b;
$max = $b;
$total = $b;
$count = 1;
$first = false;
}
else
{
$total += $b;
if ($b < $min) $min = $b;
if ($b > $max) $max = $b;
$count++;
}
}
$avg = $total / $count;
对于我的场景,我会动态获取一个 CSV 文件。我想根据列数使用上面的代码。例如,如果我有 4 列,我需要使用前面的代码,
while (fscanf($file, '%d%d%d%d', $a, $b, $c, $d)) {
并确定 CSV 文件中所有 4 列的最大值和最小值。如果只有 3 列,我需要将代码用作,
while (fscanf($file, '%d%d%d', $a, $b, $c)) {
并确定 CSV 文件中所有 3 列的最大值和最小值。有没有办法在 PHP 中做到这一点?有人请指导我正确的方向。