PHP 開発では、配列は頻繁に使用されるデータ型の 1 つです。配列の結合は一般的な操作ですが、2 つの配列の同じ位置にある要素を加算して合計する必要がある場合、どのように実装すればよいでしょうか?この記事では、PHP で 2 つの配列を結合および合計する操作を実装する 2 つの方法を紹介します。
方法 1: for ループを使用する
最初の方法は、for ループを使用して 2 つの配列を走査し、" " 演算子を使用して同じ位置に要素を追加することです:
$arr1 = array(1, 2, 3, 4, 5); $arr2 = array(2, 4, 6, 8, 10); $new_arr = array(); for ($i = 0; $i < count($arr1); $i++) { $new_arr[$i] = $arr1[$i] + $arr2[$i]; } print_r($new_arr);
上記のコードでは、$arr1 と $arr2 はマージされる 2 つの配列であり、$new_arr はマージされた結果の配列です。 for ループは 2 つの配列を走査し、同じ位置に要素を追加し、結果を $new_arr 配列に保存します。最後に、print_r 関数を使用して結果を出力します。
上記のコードを実行すると、出力結果は次のようになります。
Array ( [0] => 3 [1] => 6 [2] => 9 [3] => 12 [4] => 15 )
方法 2: array_map 関数を使用する
2 番目の方法は、array_map 関数を使用してマージし、 2 つの配列を合計します。 array_map 関数は、1 つ以上の配列の各要素をコールバック関数に渡し、それを処理して新しい配列を返すことができます。
function sum($a, $b) { return $a + $b; } $arr1 = array(1, 2, 3, 4, 5); $arr2 = array(2, 4, 6, 8, 10); $new_arr = array_map('sum', $arr1, $arr2); print_r($new_arr);
上記のコードでは、sum という名前の関数を定義し、array_map 関数を使用して、$arr1 配列と $arr2 配列の各要素に sum 関数を適用します。 array_map 関数は、結果を $new_arr 配列に保存します。
上記のコードを実行すると、出力結果は次のようになります:
Array ( [0] => 3 [1] => 6 [2] => 9 [3] => 12 [4] => 15 )
2 つのメソッドの比較
上記 2 つのメソッドの実装は難しくなく、両方とも実行できます。同じ効果が得られます。ただし、大きな配列を扱う場合は、array_map 関数を使用した方が for ループよりもはるかに高速です。 array_map 関数は PHP の組み込み関数であり、大規模なデータを処理する際の効率を高めることができるように最適化されています。
概要
PHP 開発では、配列の結合は一般的な操作です。 2 つの配列の同じ位置にある要素を追加して合計する必要がある場合は、for ループまたは array_map 関数を使用してこれを実現できます。前者はコードがシンプルで少量のデータに適しており、後者は大規模な配列の処理に適しており、効率が高いという利点があります。
以上がPHP は 2 つの配列を結合して合計します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。