ホームページ > バックエンド開発 > PHPの問題 > PHPで配列の合計を求める関数は何ですか?

PHPで配列の合計を求める関数は何ですか?

PHPz
リリース: 2023-04-24 16:37:11
オリジナル
542 人が閲覧しました

PHP では、array_sum() 関数を使用して、配列内のすべての値の合計を計算できます。

array_sum() 関数の構文は次のとおりです。

array_sum(array $array): float|int

このうち、$array は計算す​​る配列です。合計。この関数は、$array 内のすべての値の合計を表す浮動小数点または整数を返します。

以下は、array_sum() 関数を使用して数値を含む配列の合計を計算する方法を示すサンプル コードです:

$numbers = array(1, 2, 3, 4, 5);
$sum = array_sum($numbers);
echo "数组中所有数字的总和为:" . $sum;
ログイン後にコピー

上記のコードの出力は次のようになります:

数组中所有数字的总和为:15
ログイン後にコピー

配列に数値以外の要素が含まれている場合、これらの要素は無視され、計算結果には影響しません。

配列に要素がない場合、関数は 0 を返します。

実際の開発では、2 次元配列内のフィールドの値を合計する必要がある場合があります。このとき、array_column() 関数を使用してフィールドの値を抽出し、抽出された配列に array_sum() 関数を適用できます。

以下は、array_column() 関数と array_sum() 関数を使用して 2 次元配列内のフィールドの値の合計を計算する方法を示すサンプル コードです。 ##上記のコード出力の結果は次のようになります:

$data = array(
    array("name" => "张三", "age" => 20, "score" => 80),
    array("name" => "李四", "age" => 21, "score" => 85),
    array("name" => "王五", "age" => 22, "score" => 90),
);

$scores = array_column($data, "score");
$total_score = array_sum($scores);

echo "学生的总分数为:" . $total_score;
ログイン後にコピー

実際の開発では、連想配列内の特定の値を合計することもできます。このとき、array_reduce() 関数を使用してアキュムレータ関数をカスタマイズし、この関数を適用して配列内の値を累積することができます。

以下は、array_reduce() 関数を使用して連想配列に特定の値を蓄積する方法を示すサンプル コードです:

学生的总分数为:255
ログイン後にコピー

上記のコードの出力は次のようになります:

$data = array(
    "apple" => 3.00,
    "orange" => 4.50,
    "banana" => 2.00,
);

$total_cost = array_reduce($data, function($carry, $value) {
    return $carry += $value;
});

echo "购物车中所有水果的总价为:" . $total_cost;
ログイン後にコピー

上記のコードでは、array_reduce() 関数は配列とカスタム アキュムレータ関数をパラメータとして受け取ります。アキュムレータ関数の $carry パラメータは累算の一時的な結果を表し、$value パラメータは現在の配列要素の値を表します。この関数は、更新された累積結果を返します。最終的な累積結果は、array_reduce() 関数の戻り値として使用されます。この例では、アキュムレータ関数のロジックは非常に単純で、2 つの数値を加算する加算演算を実装します。

要約すると、1 次元配列、2 次元配列、連想配列のいずれであっても、PHP にはデータ処理を容易にするさまざまな配列関数が用意されています。実際の開発では、これらの機能を柔軟に利用してコードの効率化や可読性を向上させる必要があります。

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

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