Menggabungkan Tatasusunan Bersekutu dengan Kekunci Berangka Terpelihara
Apabila menggabungkan dua tatasusunan bersekutu berkunci berangka, ia selalunya dikehendaki mengekalkan kekunci asal dalam tatasusunan gabungan sambil mengelakkan pendua. Berikut ialah penyelesaian mudah:
$array1 = [ '11' => '11', '22' => '22', '33' => '33', '44' => '44', ]; $array2 = [ '44' => '44', '55' => '55', '66' => '66', '77' => '77', ]; $output = $array1 + $array2;
Dalam PHP, operator untuk tatasusunan menggabungkan dua tatasusunan, dan apabila dua kekunci dengan nilai berangka yang sama hadir, nilai daripada tatasusunan sebelah kanan akan menimpa nilai daripada tatasusunan sebelah kiri. Walau bagaimanapun, memandangkan kekunci dalam kes ini adalah integer, PHP menganggapnya sebagai nombor dan menomborkan semula kekunci.
Untuk mencipta semula kekunci berangka asal, gunakan array_combine:
$output = array_combine($output, $output);
Ini mencipta yang baharu tatasusunan dengan kekunci asal dipulihkan.
Oleh itu, tatasusunan yang digabungkan dengan angka yang dipelihara kekunci kelihatan seperti ini:
[ '11' => '11', '22' => '22', '33' => '33', '44' => '44', '55' => '55', '66' => '66', '77' => '77', ]
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Tatasusunan Bersekutu Berkunci Secara Numerik dalam PHP Semasa Mengekalkan Kekunci Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!