私は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でこれを行う方法はありますか? 誰かが私を正しい方向に導いてください。