Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menggabungkan Tatasusunan Bersekutu PHP Semasa Memelihara Kekunci Unik?

Bagaimanakah Saya Boleh Menggabungkan Tatasusunan Bersekutu PHP Semasa Memelihara Kekunci Unik?

Patricia Arquette
Patricia Arquetteasal
2024-12-17 18:15:20281semak imbas

How Can I Merge PHP Associative Arrays While Preserving Unique Keys?

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!

Kenyataan:
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