ホームページ  >  記事  >  バックエンド開発  >  PHPの配列条件付き合計関数とは何ですか?

PHPの配列条件付き合計関数とは何ですか?

PHPz
PHPzオリジナル
2023-04-19 11:37:09666ブラウズ

PHP は、Web 開発で広く使用されているプログラミング言語です。 PHP では、配列は多くの便利な関数を備えた非常に一般的なデータ型です。その中でも、配列条件付き合計関数は、特定の条件を満たす配列内の要素を合計するのに役立つ非常に実用的な関数です。

配列の条件付き合計関数は、通常 2 つのタイプに分類されます。1 つは配列内のすべての要素を合計するもの、もう 1 つは特定の条件を満たす配列内の要素を合計するものです。前者の場合、PHP の組み込みの array_sum() 関数を使用してこれを実現できます。この関数の使用方法は非常に簡単で、パラメータとして配列を渡すだけで、配列内のすべての要素の合計が返されます。

たとえば、単純な配列を作成します:

$numbers = array(1, 2, 3, 4, 5);

次に、array_sum() 関数を使用して、配列のすべての要素の合計を見つけることができます:

$total = array_sum($numbers);
echo $total;

出力結果は 15 、つまり 1 2 3 4 5 の合計です。

2 番目のケース、つまり、特定の条件を満たす配列内の要素を合計するには、PHP の array_reduce() 関数を使用できます。この関数は 2 つのパラメーターを渡す必要があります。最初のパラメーターは計算される配列で、2 番目のパラメーターはコールバック関数です。コールバック関数の機能は、配列の各要素を計算し、計算結果を返すことです。

たとえば、製品の価格を格納する配列があり、価格が 100 を超える製品を合計したいとします。これを実現できます:

$prices = array(50, 150, 200, 80, 120);
$total = array_reduce($prices, function($carry, $item) {
    if ($item > 100) {
        return $carry + $item;
    } else {
        return $carry;
    }
});

echo $total;

出力結果は 470 で、これは 150 200 120 の合計です。この例では、コールバック関数として無名関数を使用します。この無名関数は、配列の各要素が 100 より大きいかどうかを判断します。100 より大きい場合は、その要素が $carry 変数に追加されます。それ以外の場合は、操作は実行されません。最後に、$total 変数は、条件を満たす要素の合計です。

コールバック関数の使用に加えて、array_reduce() 関数を呼び出す前に配列を処理することもできます。たとえば、array_filter() 関数を使用して配列をフィルタリングしてから、array_reduce() 関数を使用します。合計:

$prices = array(50, 150, 200, 80, 120);
$filtered_prices = array_filter($prices, function($item) {
    return $item > 100;
});
$total = array_reduce($filtered_prices, function($carry, $item) {
    return $carry + $item;
});

echo $total;

出力は前の例と同じです。

要約すると、PHP の配列条件付き合計関数は、配列内の要素を迅速に計算するのに役立つ非常に実用的な関数です。配列全体を合計する場合でも、特定の条件を満たす要素を合計する場合でも、PHP の組み込み関数を使用してそれを達成できます。同時に、これらの機能を使いこなすことで、PHP開発の効率とコード品質を向上させることもできます。

以上がPHPの配列条件付き合計関数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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