ホームページ  >  記事  >  バックエンド開発  >  PHP で 2 つの連想配列を結合するにはどうすればよいですか?

PHP で 2 つの連想配列を結合するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-02 12:33:02452ブラウズ

How do I combine two associative arrays in PHP?

PHP での連想配列の結合

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 サイトの他の関連記事を参照してください。

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