Menggabungkan Tatasusunan Bersekutu Berkunci Berangka Semasa Mengekalkan Kekunci Asal
Apabila menggabungkan dua tatasusunan bersekutu dengan indeks berkunci berangka, perkara biasa untuk menghadapi masalah memelihara kedua-dua elemen dan kunci asalnya. Pertimbangkan tatasusunan berikut:
array( '11' => '11', '22' => '22', '33' => '33', '44' => '44' ); array( '44' => '44', '55' => '55', '66' => '66', '77' => '77' );
Menggunakan array_unique( array_merge( $array1 , $array2 ) ) mungkin kelihatan seperti penyelesaian, tetapi ia mengubah kekunci asal.
Penyelesaian 1 : Menggunakan array_merge dan array_combine
Gunakan array_merge untuk gabungkan tatasusunan dan array_combine untuk mencipta semula kunci asal:
$output = array_merge($array1, $array2); $output = array_combine($output, $output);
Penyelesaian 2: Menggunakan Operator Kesatuan Gabungan Array ( )
Penyelesaian yang mudah ialah menggunakan pengendali kesatuan gabungan tatasusunan ( ):
$output = $array1 + $array2;
Keputusan:
Dalam kedua-dua kes, tatasusunan yang terhasil akan mengekalkan kunci asal dan mengandungi semua elemen unik:
array( '11' => '11', '22' => '22', '33' => '33', '44' => '44', '55' => '55', '66' => '66', '77' => '77' );
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Tatasusunan Berkunci Numerik dalam PHP Semasa Memelihara Kekunci Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!