PHPの配列の値を合計する方法(3つの方法)

PHPz
リリース: 2023-04-19 09:46:13
オリジナル
2470 人が閲覧しました

PHP 開発では、配列は非常に一般的なデータ型であり、データを処理するための強力なツールの 1 つです。配列は複数の値を保持でき、インデックスを介して各値にアクセスできます。実際の開発では、配列の値を合計する必要があることがよくあります。

PHP には、配列を合計する関数を含む豊富な配列関数が用意されています。これらの関数には、array_sum()、array_reduce()、foreach ループなどが含まれます。

次に、これらの関数がどのように実装されるかを見てみましょう。

array_sum() 関数を使用して合計する

array_sum() 関数は、配列内の値を合計できます。この関数は、純粋な数値の配列要素の合計を見つけるためにのみ使用できます。タイプ。関数の構文は次のとおりです。

array_sum(array $array): float|int
ログイン後にコピー

このうち、$array は合計する配列で、関数の戻り値は数値型の float または int です。

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

$array = array(1, 2, 3, 4, 5);
$sum = array_sum($array);
echo $sum;
ログイン後にコピー

実行結果は次のとおりです。

15
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

上記のサンプル コードでは、配列 $array を定義し、パラメーターとして渡します。 to array_sum() 関数は合計演算を実行します。最後に、得られた結果$sumを出力します。

合計に array_reduce() 関数を使用する

array_reduce() 関数は、配列内の値を反復処理し、操作のために各要素をコールバック関数に順番に追加できます。この関数の構文は次のとおりです:

array_reduce(array $array, callable $callback, $initial = null)
ログイン後にコピー

このうち、$array は集計対象の配列、$callback は集計方法を指定するコールバック関数、$initial はオプションの初期値です。関数の戻り値は集計結果です。

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

$array = array(1, 2, 3, 4, 5);
$sum = array_reduce($array, function($a, $b) {
    return $a + $b;
}, 0);
echo $sum;
ログイン後にコピー

実行結果は次のとおりです。

15
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

上記のサンプル コードでは、array_reduce() 関数を使用して合計演算を実行しています。配列 $array に対して、同時に無名関数をコールバック関数として使用して、配列要素の累積演算を実装します。

foreach ループを使用して合計する

foreach ループを使用して配列を走査し、配列要素に合計演算を実装することもできます。結果を保存するには変数を使用する必要があり、各要素が順番に変数に追加され、結果が出力されることに注意してください。

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

$array = array(1, 2, 3, 4, 5);
$sum = 0;
foreach($array as $val) {
    $sum += $val;
}
echo $sum;
ログイン後にコピー

実行結果は次のとおりです:

15
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

上記のサンプル コードでは、foreach ループを使用して配列 $array を走査し、各要素を追加 累積演算を実行します。最後に、得られた結果を出力します。

要約すると、PHP には配列要素の合計演算を実装するためのさまざまな方法が用意されており、開発者は実際のニーズに応じてさまざまな演算方法を選択できます。

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

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