Menggabungkan Tatasusunan Bersekutu dengan Kekunci Unik
Dalam PHP, tatasusunan bersekutu menggunakan kekunci rentetan untuk mengakses nilai. Apabila menggabungkan dua tatasusunan sedemikian, kunci pendua boleh menyebabkan kehilangan nilai asal. Untuk mengelakkan ini, adalah perlu untuk mengekalkan kunci asal semasa menggabungkan tatasusunan.
Pertimbangkan contoh berikut:
$array1 = [ '11' => '11', '22' => '22', '33' => '33', '44' => '44' ]; $array2 = [ '44' => '44', '55' => '55', '66' => '66', '77' => '77' ];
Matlamatnya adalah untuk menggabungkan $array1 dan $array2 supaya result mengekalkan kunci asal dan mengalih keluar pendua, menghasilkan:
$output = [ '11' => '11', '22' => '22', '33' => '33', '44' => '44', '55' => '55', '66' => '66', '77' => '77' ];
Menggunakan array_unique fungsi dalam kombinasi dengan array_merge tidak mencapai hasil yang diingini kerana ia menetapkan semula kunci. Pendekatan yang lebih cekap ialah menggunakan operator, yang mengekalkan kunci asal apabila menggabungkan tatasusunan:
$output = $array1 + $array2;
Operasi ini menggabungkan dua tatasusunan dengan berkesan, menimpa nilai pendua. Sebagai alternatif, untuk mencipta semula kunci secara eksplisit, kod berikut boleh digunakan:
$output = array_combine($output, $output);
Kedua-dua kaedah menyediakan penyelesaian kepada masalah menggabungkan tatasusunan bersekutu dengan kunci unik sambil mengekalkan nilai asal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Tatasusunan Bersekutu PHP Semasa Memelihara Kekunci Unik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!