ホームページ バックエンド開発 PHPの問題 PHPで2つの配列の要素を合計する方法

PHPで2つの配列の要素を合計する方法

Apr 26, 2023 am 10:21 AM

PHP では、2 つの配列の要素を合計する必要がある場合があり、2 つの配列の長さが異なる場合があります。この記事では、この目標を達成するための 2 つの方法を紹介します。

方法 1: for ループを使用する

このメソッドは、for ループを使用して配列要素を 1 つずつ走査し、対応する位置に要素を追加して新しい配列に格納し、最後に戻り値を返します。この新しい配列。コードは次のとおりです。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

function sumArrays($arr1$arr2) {

    $n1 count($arr1);

    $n2 count($arr2);

 

    $n = max($n1$n2);

    $result array();

 

    for ($i = 0; $i < $n$i++) {

        $sum = 0;

        if ($i < $n1) {

            $sum += $arr1[$i];

        

        if ($i < $n2) {

            $sum += $arr2[$i];

        }

        array_push($result$sum);

    }

    return $result;

}

ログイン後にコピー

ここでは、2 つの配列 $n1$ と $n2$ の長さをそれぞれ計算し、最大値 $n$ を新しい配列の長さとします。

次に、for ループで、最初に $sum$ を 0 に定義し、次に現在のインデックス $i$ が $n1$ または $n2$ より小さいかどうかを判断します。そうであれば、要素を追加します。対応する位置の $sum$ に。最後に $sum$ を新しい配列に格納し、結果を返します。

方法 2: array_map() 関数を使用する

この方法では、PHP の array_map() 関数と匿名関数を使用します。 array_map() 関数は、2 つの配列に対応する要素を引数として無名関数に渡し、それらを追加して新しい配列を返します。コードは次のとおりです。

1

2

3

4

5

6

7

8

9

10

11

function sumArrays($arr1$arr2) {

    $n1 count($arr1);

    $n2 count($arr2);

 

    $n = max($n1$n2);

    $result array_map(function($a$b) {

        return $a $b;

    }, array_pad($arr1$n, 0), array_pad($arr2$n, 0));

     

    return $result;

}

ログイン後にコピー

まず、count() 関数を使用して 2 つの配列の長さ $n1$ と $n2$ を計算し、最大値 $n$ を取得します。

次に、array_pad() 関数を使用して、両方の配列を同じ長さに埋め込みます。配列の一方が他方より長い場合は、その空のスペースを 0 で埋めます。

次に、array_map() 関数と匿名関数を呼び出し、2 つの値が入った配列をパラメーターとして渡します。無名関数は、対応する 2 つの要素を追加し、結果を返します。最後に $result$ を返します。

この方法はより簡潔に見え、組み込み関数を使用していますが、大きな配列を処理する場合は最初の方法よりも遅くなる可能性があります。

概要

この記事では、PHP で 2 つの配列要素を合計する 2 つの方法を紹介します。方法 1 では for ループを使用し、方法 2 では PHP の組み込み関数 array_map() を使用します。どちらの方法にもそれぞれ長所と短所があり、必要に応じて適切な方法を選択できます。

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

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

最新のPHPコーディング基準とベストプラクティスは何ですか? 最新のPHPコーディング基準とベストプラクティスは何ですか? Mar 10, 2025 pm 06:16 PM

最新のPHPコーディング基準とベストプラクティスは何ですか?

PHP拡張機能とPECLを使用するにはどうすればよいですか? PHP拡張機能とPECLを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:12 PM

PHP拡張機能とPECLを使用するにはどうすればよいですか?

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? Mar 10, 2025 pm 06:15 PM

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は?

PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? Mar 03, 2025 pm 04:47 PM

PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか?

PHPアレイの重複排除のための最適化手法は何ですか PHPアレイの重複排除のための最適化手法は何ですか Mar 03, 2025 pm 04:50 PM

PHPアレイの重複排除のための最適化手法は何ですか

PHPアレイの重複排除は、キー名の一意性を利用できますか? PHPアレイの重複排除は、キー名の一意性を利用できますか? Mar 03, 2025 pm 04:51 PM

PHPアレイの重複排除は、キー名の一意性を利用できますか?

リフレクションを使用してPHPコードを分析および操作する方法は? リフレクションを使用してPHPコードを分析および操作する方法は? Mar 10, 2025 pm 06:12 PM

リフレクションを使用してPHPコードを分析および操作する方法は?

PHPアレイの重複排除のためのベストプラクティスは何ですか PHPアレイの重複排除のためのベストプラクティスは何ですか Mar 03, 2025 pm 04:41 PM

PHPアレイの重複排除のためのベストプラクティスは何ですか

See all articles