Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya menggabungkan dua tatasusunan bersekutu dalam PHP?

Bagaimanakah saya menggabungkan dua tatasusunan bersekutu dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-02 12:33:02437semak imbas

How do I combine two associative arrays in PHP?

Menggabungkan Tatasusunan Bersekutu dalam PHP

Dalam PHP, menggabungkan dua tatasusunan bersekutu menjadi satu boleh dicapai dengan cekap menggunakan fungsi array_merge(). Begini cara anda boleh melakukannya:

Pertimbangkan dua tatasusunan bersekutu berikut:

<code class="php">$array1 = ["name1" => "id1"];

$array2 = ["name2" => "id2", "name3" => "id3"];</code>

Kaedah 1: array_merge()

Untuk menggabungkan tatasusunan, gunakan fungsi array_merge() seperti berikut:

<code class="php">$array3 = array_merge($array1, $array2);</code>

Ini akan mencipta tatasusunan baharu $array3 yang mengandungi semua pasangan nilai kunci daripada $array1 dan $array2. Nilai untuk kunci pendua akan ditimpa dengan nilai daripada tatasusunan kedua.

Kaedah 2: Operator Penambahan Tatasusunan ( )

Sebagai alternatif, anda boleh menggunakan penambahan tatasusunan ( ) operator untuk menggabungkan tatasusunan:

<code class="php">$array4 = $array1 + $array2;</code>

Operator ini juga menggabungkan tatasusunan, tetapi ia tidak menimpa nilai kunci pendua. Sebaliknya, ia akan menghasilkan tatasusunan berbilang dimensi dengan kunci pendua.

Hasil

Dalam kedua-dua kes, $array3 dan $array4 ialah:

array(4) {
  ["name1"] => "id1",
  ["name2"] => "id2",
  ["name3"] => "id3"
}

Ujian Unit

Untuk menguji unit kefungsian ini, anda boleh mencipta kes ujian yang menegaskan kelakuan yang dijangkakan bagi fungsi array_merge() atau operator penambahan tatasusunan. Berikut ialah contoh ujian menggunakan 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>

Atas ialah kandungan terperinci Bagaimanakah saya menggabungkan dua tatasusunan bersekutu dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn