Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengendalikan Kunci Pendua dalam Tatasusunan Bersekutu PHP?

Bagaimana untuk Mengendalikan Kunci Pendua dalam Tatasusunan Bersekutu PHP?

DDD
Lepaskan: 2024-12-15 15:58:16
asal
397 orang telah melayarinya

How to Handle Duplicate Keys in PHP Associative Arrays?

Cara Mengendalikan Kunci Pendua dalam Tatasusunan Bersekutu PHP

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;
}
Salin selepas log masuk

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]);
Salin selepas log masuk

...anda akan mendapat:

$arr = ['42' => 97];
Salin selepas log masuk

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],
];
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan