PHP では、通常、array_merge()
関数を使用して 2 つ以上の配列をマージします。ただし、場合によっては、配列をマージするためのより効率的な方法が必要で、関数呼び出しの使用を避ける必要があります。この記事では、関数を使用せずに配列を結合する方法をいくつか紹介します。
1.
演算子を使用します
演算子は 2 つの配列を結合するために使用できます。左側の配列を右側の配列とマージし、左側の配列と同じキー名を右側の配列から削除します。
演算子を使用して配列を結合する例を次に示します。
$arr1 = ['a' => 1, 'b' => 2]; $arr2 = ['b' => 3, 'c' => 4]; $result = $arr1 + $arr2; print_r($result); // 输出:Array ( [a] => 1 [b] => 2 [c] => 4 )
上の例では、$arr1
配列のキー名は b
です。および $arr2
配列のキー名は b
です。
演算子を使用して 2 つの配列をマージすると、$result
だけが残ります。 $arr1
の b
と $arr2
の b
は無視されます。
2. $array[]
構文を使用する
PHP では、$array[]
構文を使用して要素を配列の終わり。このようにして、2 つの配列を 1 つにマージできます。 $array[]
構文を使用して配列を結合する例を次に示します。
$arr1 = ['a' => 1, 'b' => 2]; $arr2 = ['b' => 3, 'c' => 4]; foreach ($arr2 as $key => $value) { $arr1[$key] = $value; } print_r($arr1); // 输出:Array ( [a] => 1 [b] => 3 [c] => 4 )
上の例では、$arr2
配列を反復処理して、各要素を結合します。 $arr1
配列に追加されます。このようにして、$arr2
配列の要素を $arr1
配列に追加し、配列を結合することができます。
3. array_replace_recursive()
関数を使用する別の方法
PHP では、array_replace_recursive()
関数を使用して 2 つの配列をマージできます。ただし、この関数は 2 つの配列の要素を再帰的にマージするため、大きな配列を操作する場合は速度が遅くなる可能性があります。 array_replace_recursive()
関数を使用して配列を結合する例を次に示します。
$arr1 = ['a' => ['b' => 2, 'c' => 3]]; $arr2 = ['a' => ['c' => 4, 'd' => 5]]; $result = array_replace_recursive($arr1, $arr2); print_r($result); // 输出:Array ( [a] => Array ( [b] => 2 [c] => 4 [d] => 5 ) )
上記の例では、$arr1
の a
要素がarray $arr2
配列の c
要素が含まれます。array_replace_recursive()
関数を使用して 2 つの配列をマージした後、$result
#配列内 ##a 要素には、
$arr2 配列の
c 要素と
d 要素が含まれます。
array_replace_recursive() 関数の使用を回避し、同時に配列のマージを実現する方法があります。
array_merge_recursive() 関数と
array_replace() 関数を使用できます。このメソッドを使用して配列を結合する例を次に示します。
$arr1 = ['a' => ['b' => 2, 'c' => 3]]; $arr2 = ['a' => ['c' => 4, 'd' => 5]]; $result = array_merge_recursive($arr1, $arr2); $result = array_replace($result, $arr1); print_r($result); // 输出:Array ( [a] => Array ( [b] => 2 [c] => 4 [d] => 5 ) )上の例では、まず
array_merge_recursive() 関数を使用して 2 つの配列を結合し、次に
array_replace () を使用します。 この関数は、
$arr1 配列内の要素を結果配列に上書きします。このようにして、2 つの配列を 1 つに結合することに成功しました。
array_merge() 関数を使用して 2 つ以上の配列をマージします。この記事では、関数を使用せずに配列をマージする方法を紹介しました。これには、
演算子、
$array[] 構文、
array_merge_recursive() 関数 wait を使用する代替方法も含まれます。これらのメソッドにより、コードの効率が向上し、関数呼び出しのオーバーヘッドが削減されます。
以上が関数を使用せずにPHPで配列をマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。