ホームページ >バックエンド開発 >PHPの問題 >PHP は 3 つの配列の山の平均を求めます

PHP は 3 つの配列の山の平均を求めます

WBOY
WBOYオリジナル
2023-05-07 17:32:09507ブラウズ

PHP プログラミングでは、配列を操作する必要があることが多く、3 つの配列の山の平均を求めるのはよくある問題です。この記事では、3 つの異なる方法を紹介することでこの問題に対処します。

方法 1: for ループと配列 sum 関数を使用する

最も一般的な平均化方法は、for ループを使用して配列を走査し、配列 sum 関数を使用して配列のすべての要素を累積することです。最後に、要素の数で割って平均値を取得します。

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

$arr1 = array(1, 2, 3, 4, 5);
$arr2 = array(6, 7, 8, 9, 10);
$arr3 = array(11, 12, 13, 14, 15);

$sum1 = 0;
$sum2 = 0;
$sum3 = 0;

$count = count($arr1);

for ($i = 0; $i < $count; $i++) {
    $sum1 += $arr1[$i];
    $sum2 += $arr2[$i];
    $sum3 += $arr3[$i];
}

$avg1 = $sum1 / $count;
$avg2 = $sum2 / $count;
$avg3 = $sum3 / $count;

echo '第一堆平均数:' . $avg1 . '<br />';
echo '第二堆平均数:' . $avg2 . '<br />';
echo '第三堆平均数:' . $avg3 . '<br />';

このメソッドは単純ですが、配列を走査するために for ループが必要であり、配列要素が多い場合にはプログラムの効率に影響します。

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

PHP には、配列を直接合計する array_sum() 関数が用意されており、count 関数を使用すると、平均値をすばやく取得できます。価値。

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

$arr1 = array(1, 2, 3, 4, 5);
$arr2 = array(6, 7, 8, 9, 10);
$arr3 = array(11, 12, 13, 14, 15);

$sum1 = array_sum($arr1);
$sum2 = array_sum($arr2);
$sum3 = array_sum($arr3);

$count = count($arr1);

$avg1 = $sum1 / $count;
$avg2 = $sum2 / $count;
$avg3 = $sum3 / $count;

echo '第一堆平均数:' . $avg1 . '<br />';
echo '第二堆平均数:' . $avg2 . '<br />';
echo '第三堆平均数:' . $avg3 . '<br />';

このメソッドはシンプルかつ効率的で、配列を走査するための for ループの必要がありません。

方法 3: array_map() 関数と array_reduce() 関数を使用する

array_sum() 関数と count() 関数に加えて、PHP には array_map() 関数と array_reduce() 関数も用意されています。より柔軟に配列を操作できるようになります。

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

$arr1 = array(1, 2, 3, 4, 5);
$arr2 = array(6, 7, 8, 9, 10);
$arr3 = array(11, 12, 13, 14, 15);

$sum1 = array_reduce($arr1, function($carry, $item) {
    return $carry + $item;
});

$sum2 = array_reduce($arr2, function($carry, $item) {
    return $carry + $item;
});

$sum3 = array_reduce($arr3, function($carry, $item) {
    return $carry + $item;
});

$count = count($arr1);

$avg1 = $sum1 / $count;
$avg2 = $sum2 / $count;
$avg3 = $sum3 / $count;

echo '第一堆平均数:' . $avg1 . '<br />';
echo '第二堆平均数:' . $avg2 . '<br />';
echo '第三堆平均数:' . $avg3 . '<br />';

このメソッドは、array_reduce() の 2 番目のパラメーターとして無名関数を使用します。これにより、より柔軟な合計演算が可能になり、for ループの使用が回避されます。

まとめ

3 つの方法にはそれぞれ長所と短所があり、実際の状況に応じて具体的な使用方法を選択する必要があります。方法 1 は小規模なアレイに使用でき、方法 2 または方法 3 は大規模なアレイに推奨されます。同時に、配列を操作するときは、予期しない状況を避けるために配列要素の型と数に注意する必要があることに注意してください。

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

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