PHP では、配列は非常に一般的なデータ構造です。配列の平均を計算することは非常に基本的な操作です。この記事では、PHP で配列の平均を計算するいくつかの方法を検討します。
方法 1: for ループを使用する
最も簡単な方法の 1 つは、for ループを使用して PHP 配列の平均を計算することです。配列内の各要素を反復処理して合計し、最後に合計を要素数で割ることで平均を求めることができます。サンプル コードは次のとおりです。
function average($arr) { $sum = 0; for ($i = 0; $i < count($arr); $i++) { $sum += $arr[$i]; } return ($sum / count($arr)); }
この関数は、数値要素を含む配列を受け取り、配列内の for ループを使用して配列内の各要素を反復処理します。ループでは、各要素を $sum 変数に追加し、ループの最後に合計を要素数で割った値、つまり平均を返します。
配列のサイズを取得するために各反復で count() 関数を計算する必要があるため、このメソッドの効率は比較的低くなります。
方法 2: array_sum() と count() を使用する
PHP には、配列内のすべての要素の合計を計算できる array_sum と呼ばれる関数があります。以下に示すように、array_sum() 関数を count() 関数とともに使用して、配列の平均を計算できます:
function average($arr) { return (array_sum($arr) / count($arr)); }
この関数の実装は、方法 1 よりも簡単です。 for ループまたは count() 関数を反復ごとに呼び出す必要があります。代わりに、array_sum() 関数を直接使用して合計を計算し、次に count() 関数を使用して配列内の要素数を計算し、最後にそれらを除算して平均を求めることができます。
方法 3: foreach ループを使用する
foreach ループを使用して、PHP 配列の平均を計算することもできます。 for ループと同様に、foreach ループでも配列内の要素を走査し、指定されたコード ブロックを実行できます。 foreach ループを使用したサンプル コードを次に示します。
function average($arr) { $sum = 0; foreach ($arr as $value) { $sum += $value; } return ($sum / count($arr)); }
この関数は、for ループの例と同様に機能します。唯一の違いは、ループ内で foreach 構文が使用されることです。配列内の各要素を $value 変数に保存し、各要素を $sum 変数に追加します。最後に、合計を計算し、それを要素数で割って平均を求めるだけです。
方法 4: array_reduce() を使用する
array_reduce() 関数は、配列内の要素に対してリダクション操作を実行できる PHP の強力な関数です。この関数を count() 関数と組み合わせて、PHP 配列の平均を計算できます。以下は、array_reduce() 関数を使用したサンプル コードです。
function average($arr) { $sum = array_reduce($arr, function ($acc, $value) { return $acc + $value; }, 0); return ($sum / count($arr)); }
この関数は、array_reduce() 関数の 2 番目のパラメーターとして無名関数を使用します。 reduce 関数は 2 つのパラメーターを受け入れます。最初のパラメーターはコールバック関数が最後に呼び出されたときに返された値 (アキュムレーターとも呼ばれます)、2 番目のパラメーターは配列内の現在の要素です。反復ごとに、現在の要素をアキュムレータに追加し、最終結果は配列内のすべての要素の合計になります。
最後に、配列内のすべての要素の合計を計算し、それを要素数で割って配列の平均を取得します。
結論
この記事では、PHP 配列の平均を計算する 4 つの方法を紹介します。各メソッドの実装は異なりますが、すべて同じ結果を達成できます。 for ループと比較して、array_sum() 関数と count() 関数を使用すると、コードの読みやすさと効率が向上します。同時に、foreach ループを使用するとコードをより簡潔にすることができます。最後に、array_reduce() 関数を使用すると、配列内の要素に対してより柔軟にリダクション操作を実行できます。
以上がPHPで配列の平均を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。