Susun tatasusunan bersekutu ialah struktur data yang menyimpan pasangan nilai kunci, membenarkan pengambilan semula nilai yang cekap berdasarkan pada yang berkaitan kunci. Walau bagaimanapun, secara lalai, tatasusunan bersekutu tidak membenarkan kunci pendua.
Pertimbangkan kod berikut:
function array_push_associative(&$arr) { $args = func_get_args(); foreach ($args as $arg) { if (is_array($arg)) { foreach ($arg as $key => $value) { $arr[$key] = $value; $ret++; } } else { $arr[$arg] = ""; } } return $ret; }
Fungsi ini cuba menambah nilai pada tatasusunan bersekutu, tetapi menimpa sebarang kunci sedia ada dengan nama yang sama. Sebagai contoh, jika anda menggunakannya untuk mencipta tatasusunan seperti ini:
$arr = []; array_push_associative($arr, ['42' => 56], ['42' => 86], ['42' => 97]);
...anda akan mendapat:
$arr = ['42' => 97];
Untuk mengatasi had ini, pertimbangkan untuk membina struktur tatasusunan bersarang. Daripada mempunyai kunci pendua, anda boleh menggunakan kunci unik yang sepadan dengan tatasusunan yang mengandungi berbilang elemen. Contohnya:
$arr = [ '42' => [56, 86, 97], '51' => [64, 52], ];
Dengan cara ini, anda boleh mengakses berbilang entri yang dikaitkan dengan pengecam yang sama melalui struktur tatasusunan bersarang.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Kunci Pendua dalam Tatasusunan Bersekutu PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!