1

データの配列を作成しました。そこから特定のフィールドをループしてこれらの値をエコーアウトできますが、これらの値を新しい配列に追加して、最終的に新しい配列の値の平均を見つけることができます。配列。私が言ったように、私はデータをエコーアウトすることができます。新しい配列を作成できれば、平均を取得する方法を理解したと思います! どこにも答えが見つからず、才能が不足しているため、どんな助けも大歓迎です!

私のテーブルには約 25 のフィールドが含まれており、セッション変数に基づいて多数の行を引き出しています。私が取り組んでいるインスタンスでは、テーブルの 1 列から値だけを取得し、これらを配列に追加する必要があります。以下のコードは、値をループして、一度に 1 つずつエコーします。

while ($cdarray=mysql_fetch_array($calldata))   {
echo $cdarray['score_total'];
}

これにより、25、5、5、5 と予想される 4 つの値である 25555 が得られます。

私はもう試した

while ($cdarray=mysql_fetch_array($calldata))   {
$cdts = $cdarray['score_total'];
$cdtsar = array($cdts);
}

その結果、$cdts に値 5 が割り当てられ、

どんな助けでも大歓迎です!!

4

3 に答える 3

1

これにより、配列からデータが取得され、新しい配列に配置され、平均が計算されます。

$cdtsar = array();

while ($cdarray=mysql_fetch_array($calldata))   {
 $cdtsar[] = $cdarray['score_total'];
}

$average = array_sum($cdtsar) / count($cdtsar);
于 2012-04-17T10:18:48.167 に答える
1

実際には 25 と 5 と 5 と 5 が出力されますが、間にスペースがないため、「25555」のように見えます。これを自分で確認するには:

while ($cdarray=mysql_fetch_array($calldata))   {
    echo $cdarray['score_total'];
    echo " / ";
}

平均を取得するには、次のいずれかを使用できます

$sum = $count = 0;
$average = null;
while ($cdarray=mysql_fetch_array($calldata))   {
    $sum += $cdarray['score_total'];
    ++$count;
}

// Make sure to guard against divide by zero
if ($count) {
    $average = $sum / $count;
}

または、クエリを変更できる場合は、データベースに平均を計算させることもできます。

于 2012-04-17T10:25:04.780 に答える
0

要素を新しい配列に割り当てる場合は、次のように使用します

$cdtsar = array();
while ($cdarray=mysql_fetch_array($calldata))   {
    array_push($cdtsar,$cdarray['score_total']);
}

配列の平均を見つけるには

$sum = array_sum($cdtsar);
$num = sizeof($cdtsar);
$avg = $sum/$num;
echo $avg;
于 2012-04-17T10:25:06.427 に答える