ホームページ >バックエンド開発 >PHPの問題 >PHPで1次元配列の値を合計する方法

PHPで1次元配列の値を合計する方法

PHPz
PHPzオリジナル
2023-04-23 19:29:51858ブラウズ

PHP では、配列は非常に一般的に使用されるデータ型であり、配列内の指定された値の合計演算も一般的な要件の 1 つです。この記事では、PHP を使用して 1 次元配列の値を合計する方法を紹介し、参考として関連する例をいくつか示します。

1. array_reduce 関数を使用して合計を実装します。

array_reduce 関数は配列内のすべての要素を削減でき、削減方法は自分で定義できます。配列内の特定の属性を合計する必要がある場合、その属性をリダクション操作のパラメーターとして使用できます。具体的な実装は次のとおりです:

$numbers = array(10, 20, 30, 40, 50);
$sum = array_reduce($numbers, function($carry, $item) {
    return $carry + $item;
}, 0);
echo "数组总和为:" . $sum;

上記のコードでは、最初に配列を定義します$numbers そして、array_reduce 関数を使用して合計演算を実行します。リダクション操作では、$carry 変数を使用して最後のリダクション後の結果を保存します。$item 変数は現在の要素の値を表します。この例では、リダクション演算は単純な加算演算であり、0 は最初のリダクション演算の初期値を表します。

上記のコードを実行すると、次の結果が得られます:

数组总和为:150

上記の例は、array_reduce 関数を使用して 1 次元配列内の要素の合計を解く方法を示しています。しかし、1 次元配列内の属性を合計したい場合は、どうすればよいでしょうか?このとき、リダクション操作のパラメータとしてコールバック関数を使用することができ、コールバック関数内でリダクション属性をフィルタリングして追加することができます。具体的な実装は次のとおりです。

$students = array (
    "Tom" => array("age" => 23, "score" => 80),
    "Jerry" => array("age" => 22, "score" => 90),
    "Mickey" => array("age" => 23, "score" => 85)
);

$sum = array_reduce($students, function($carry, $item) {
    return $carry + $item['score'];
}, 0);
echo "学生成绩总分为:" . $sum;

上記のコードでは、学生情報の配列 $students を定義します。各要素は、名前、年齢、スコアで構成されます。 array_reduce 関数とコールバック関数を使用して各学生要素のスコアを累積し、学生の成績の合計スコアを取得します。

上記のコードを実行すると、次の結果が得られます:

学生成绩总分为:255

上記の例からわかるように、array_reduce 関数を使用して、特定の属性の合計演算を柔軟に実装できます。 1次元配列で。

2. foreach ループを使用して合計を実装する

array_reduce 関数と比較して、PHP では通常の foreach ループを使用して、1 次元配列内の特定の属性の合計を実装することもできます。具体的な実装は次のとおりです。

$students = array (
    "Tom" => array("age" => 23, "score" => 80),
    "Jerry" => array("age" => 22, "score" => 90),
    "Mickey" => array("age" => 23, "score" => 85)
);

$sum = 0;
foreach ($students as $student) {
    $sum += $student['score'];
}
echo "学生成绩总分为:" . $sum;

ここでの実装は比較的単純です。つまり、foreach ループを使用して配列内のすべての要素を順番に走査し、各要素のスコアを累積して、最終的にスコアを取得します。生徒の成績の合計スコア。

上記のコードを実行すると、次の結果が得られます:

学生成绩总分为:255

foreach ループの使用も一般的な実装方法であり、特に小さな配列の処理に適していることがわかります。

3. array_sum 関数を使用して合計を実装する

array_reduce 関数に加えて、PHP は配列要素の合計を求めるために特に使用される array_sum 関数も提供します。この関数は非常に単純です。配列をパラメータとして受け取り、その要素の合計を返すだけです。具体的な実装は次のとおりです:

$numbers = array(10, 20, 30, 40, 50);
$sum = array_sum($numbers);
echo "数组总和为:" . $sum;

上記のコードでは、array_sum 関数を呼び出して配列を合計します。 $numbers 操作を実行し、最後にその合計を取得します。

上記のコードを実行すると、次の結果が得られます:

数组总和为:150

array_sum 関数は、1 次元のデジタル インデックス配列を解くためにのみ使用できることに注意してください。 1 次元の連想配列で特定の値を計算する 属性を合計するには、まず array_column 関数を使用して数値インデックス配列に変換し、次に array_sum 関数を使用して合計を実行する必要があります。

4. まとめ

この記事では、array_reduce 関数、foreach ループ、array_sum 関数など、PHP で 1 次元配列の属性を合計する実装方法を紹介します。比較すると、array_reduce 関数は最も柔軟性が高く、さまざまなシナリオに適応できますが、複雑さも比較的高くなります。 foreach ループと array_sum 関数は、より単純かつ単純で、小さな配列の処理に適しています。最適な結果を達成するために、実際のニーズに応じてさまざまな実装方法を選択できます。

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

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