ホームページ >バックエンド開発 >PHPの問題 >PHPで配列の平均を見つける方法

PHPで配列の平均を見つける方法

PHPz
PHPzオリジナル
2023-04-23 09:12:142426ブラウズ

PHP は強力なプログラミング言語として、日常のプログラミング ニーズを満たす豊富な配列演算関数を提供します。その中でも、配列の平均計算はより基本的な演算の 1 つです。この記事では、配列の平均を取得するいくつかの方法を紹介します。

方法 1: array_sum() 関数と count() 関数を使用する

array_sum() 関数は配列内の要素の合計を計算するために使用され、count() 関数は配列番号の要素数を計算するために使用されます。これら 2 つの関数を組み合わせることで、配列の平均を求めることができます。

サンプル コードは次のとおりです。

function average_1($arr){
    $sum = array_sum($arr);
    $count = count($arr);
    $average = $sum / $count;
    return $average;
}

$arr = [1, 2, 3, 4, 5];
echo average_1($arr); // 输出:3

方法 2: foreach ループを使用する

関数の使用に加えて、foreach ループを使用して配列を走査し、取得することもできます。合計と各要素の数を計算し、最後に除算して平均値を計算します。

サンプル コードは次のとおりです。

function average_2($arr){
    $sum = 0;
    $count = 0;
    foreach($arr as $value){
        $sum += $value;
        $count++;
    }
    $average = $sum / $count;
    return $average;
}

$arr = [1, 2, 3, 4, 5];
echo average_2($arr); // 输出:3

方法 3: array_reduce() 関数を使用します。

array_reduce() 関数を使用して、次の値の合計を求めることもできます。配列内の要素。この関数には 2 つのパラメータが必要です。最初のパラメータは処理対象の配列で、2 番目のパラメータは要素の加算演算を実装できる関数です。

サンプル コードは次のとおりです。

function average_3($arr){
    $sum = array_reduce($arr, function($carry, $value){
        return $carry + $value;
    });
    $count = count($arr);
    $average = $sum / $count;
    return $average;
}

$arr = [1, 2, 3, 4, 5];
echo average_3($arr); // 输出:3

方法 4: eval() 関数を使用する

推奨されませんが、eval() 関数は次の目的で使用できます。いくつかの特殊な場合に配列の平均を計算します。具体的な操作は、配列を文字列に変換し、対応する計算式を追加し、その式を eval() 関数を通じて動的に実行して結果を取得することです。

サンプルコードは次のとおりです。

function average_4($arr){
    $str = implode("+", $arr);
    $eval_str = "return ($str)/" . count($arr) . ";";
    $average = eval($eval_str);
    return $average;
}

$arr = [1, 2, 3, 4, 5];
echo average_4($arr); // 输出:3

eval() 関数の実行環境は柔軟すぎるため、セキュリティ上のリスクがいくつかあるため、使用は避けてください。実際の開発ではこの機能を使用します。

要約すると、配列の平均を計算するのは PHP 配列操作の基本的な問題であり、この問題を解決するにはさまざまな方法を使用できます。開発者にとって、どの方法を選択するかは、特定のアプリケーション シナリオと開発ニーズによって異なります。

以上がPHPで配列の平均を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。