ホームページ > バックエンド開発 > PHPの問題 > PHP でカスタム関数を使用して配列の平均を見つける方法

PHP でカスタム関数を使用して配列の平均を見つける方法

PHPz
リリース: 2023-04-23 09:37:36
オリジナル
954 人が閲覧しました

PHP は、Web 開発で広く使用されている人気のあるプログラミング言語です。配列は PHP の重要なデータ型の 1 つであり、データの保存と操作によく使用されます。配列の平均の計算は PHP プログラミングの基本的なタスクであり、PHP が提供する組み込み関数を使用するか、カスタム関数を作成して実行できます。この記事では、配列の平均を求めるカスタム関数を作成する方法を説明します。

1. 平均値を計算するための組み込み関数

PHP では、組み込み関数 array_sum()count() を使用できます。 配列の値を計算します。次に、合計と要素数を除算して平均を求めます。サンプル コードは次のとおりです:

$array = array(2,4,6,8,10);
$sum = array_sum($array);
$count = count($array);
$average = $sum / $count;
echo $average;
ログイン後にコピー

上記のコードは平均 6 を出力します。

組み込み関数を使用して配列の平均を見つけるのは簡単ですが、すべての場合に機能するとは限りません。たとえば、配列に数値以外の型の要素が含まれている場合、または配列が空の場合、組み込み関数はエラーを返します。この場合、カスタム関数の方が適している可能性があります。

2. 平均を見つけるためのカスタム関数

次は、平均を見つけるためのカスタム関数です:

function array_average($array){
    $sum = 0;
    $count = 0;
    foreach($array as $value){
        if(is_numeric($value)){
            $sum += $value;
            $count++;
        }
    }
    return ($count > 0) ? ($sum / $count) : NULL;
}
ログイン後にコピー

この関数は、配列内のすべての要素を走査します。合計に加算され、要素の数だけ増加する数値型。最後に平均値を返します。非数値型要素が計算結果に影響を与えるのを避けるために、要素が数値型であるかどうかを判断するために関数内で is_numeric() 関数が使用されていることに注意してください。配列が空であるか、数値要素が含まれていない場合、関数は NULL を返します。

この関数をテストするには、次のコードを使用できます:

$array1 = array(2,4,6,8,10);
$array2 = array(1,'a',3,'b',5);
$array3 = array();

echo array_average($array1) . "<br/>";
echo array_average($array2) . "<br/>";
echo array_average($array3) . "<br/>";
ログイン後にコピー

出力結果は次のとおりです:

6
3
ログイン後にコピー

ご覧のとおり、関数は正常に計算されました。最初の配列の平均を計算し、2 番目の配列と 3 番目の空の配列の非数値要素を正しく処理します。

3. 結論

PHP には配列を処理するための組み込み関数が多数用意されていますが、カスタム関数を作成することも非常に便利です。カスタム関数は特定のニーズに合わせて最適化でき、より正確な結果とより優れたエラー処理を提供します。この記事では、カスタム関数を使用して配列の平均を計算し、組み込み関数を使用した場合と比較する方法を示します。著者は、開発者が PHP プログラミングの経験と効率を向上させるために、組み込み関数とカスタム関数を柔軟に使用する必要があると考えています。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート