Kekalkan Kekunci Asal Semasa Menggabungkan Tatasusunan Bersekutu Berkunci Berangka
Apabila menggabungkan tatasusunan bersekutu dengan elemen berkunci berangka, selalunya wajar untuk mengekalkan nilai kunci asal. Walau bagaimanapun, fungsi array_merge mungkin menimpa atau menomborkan semula kekunci apabila berurusan dengan kekunci pendua.
Sebagai contoh, tatasusunan yang diberikan seperti ini:
$array1 = [ '11' => '11', '22' => '22', '33' => '33', '44' => '44' ]; $array2 = [ '44' => '44', '55' => '55', '66' => '66', '77' => '77' ];
Percubaan untuk menggabungkan tatasusunan ini menggunakan array_merge boleh membawa kepada kunci perubahan:
$output = array_unique(array_merge($array1, $array2));
Pendekatan ini menukar kunci output kepada berasaskan 0 integer.
Untuk mengekalkan kekunci asal, gunakan kaedah berikut:
$output = $array1 + $array2;
Dengan menggunakan operator penambahan ( ), PHP menggabungkan tatasusunan dan mengekalkan kekunci berangka asal. Hasilnya ialah:
$output = [ '11' => '11', '22' => '22', '33' => '33', '44' => '44', '55' => '55', '66' => '66', '77' => '77' ];
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Kekunci Asal Apabila Menggabungkan Tatasusunan PHP Berkunci Secara Numerik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!