PHP では、array_merge() 関数を使用して 2 つの連想配列を 1 つに効率的に結合できます。その方法は次のとおりです。
次の 2 つの連想配列を考えます。
<code class="php">$array1 = ["name1" => "id1"]; $array2 = ["name2" => "id2", "name3" => "id3"];</code>
方法 1: array_merge()
配列の場合は、次のように array_merge() 関数を使用します。
<code class="php">$array3 = array_merge($array1, $array2);</code>
これにより、$array1 と $array2 の両方のすべてのキーと値のペアを含む新しい配列 $array3 が作成されます。重複キーの値は、2 番目の配列の値で上書きされます。
方法 2: 配列の加算 () 演算子
あるいは、配列の加算を使用することもできます。配列をマージする ( ) 演算子:
<code class="php">$array4 = $array1 + $array2;</code>
この演算子も配列をマージしますが、重複するキー値は上書きされません。代わりに、重複キーを持つ多次元配列が生成されます。
Result
どちらの場合も、$array3 と $array4 は次のようになります。
array(4) { ["name1"] => "id1", ["name2"] => "id2", ["name3"] => "id3" }
単体テスト
この機能を単体テストするには、array_merge() 関数または配列加算演算子の予期される動作をアサートするテスト ケースを作成できます。以下は PHPUnit を使用したテストの例です:
<code class="php">class ArrayMergeTest extends PHPUnit_Framework_TestCase { public function testArrayMerge() { $array1 = ["name1" => "id1"]; $array2 = ["name2" => "id2", "name3" => "id3"]; $expectedArray = ["name1" => "id1", "name2" => "id2", "name3" => "id3"]; $actualArray = array_merge($array1, $array2); $this->assertEquals($expectedArray, $actualArray); } }</code>
以上がPHP で 2 つの連想配列を結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。