Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengekalkan Kekunci Asal Apabila Menggabungkan Tatasusunan PHP Berkunci Secara Numerik?

Bagaimanakah Saya Boleh Mengekalkan Kekunci Asal Apabila Menggabungkan Tatasusunan PHP Berkunci Secara Numerik?

Linda Hamilton
Linda Hamiltonasal
2024-12-13 21:31:26829semak imbas

How Can I Preserve Original Keys When Merging Numerically-Keyed PHP Arrays?

Kekalkan Kekunci Asal Semasa Menggabungkan Tatasusunan Bersekutu Berkunci Berangka

Apabila menggabungkan tatasusunan bersekutu dengan elemen berkunci berangka, selalunya wajar untuk mengekalkan nilai kunci asal. Walau bagaimanapun, fungsi array_merge mungkin menimpa atau menomborkan semula kekunci apabila berurusan dengan kekunci pendua.

Sebagai contoh, tatasusunan yang diberikan seperti ini:

$array1 = [
    '11' => '11',
    '22' => '22',
    '33' => '33',
    '44' => '44'
];

$array2 = [
    '44' => '44',
    '55' => '55',
    '66' => '66',
    '77' => '77'
];

Percubaan untuk menggabungkan tatasusunan ini menggunakan array_merge boleh membawa kepada kunci perubahan:

$output = array_unique(array_merge($array1, $array2));

Pendekatan ini menukar kunci output kepada berasaskan 0 integer.

Untuk mengekalkan kekunci asal, gunakan kaedah berikut:

$output = $array1 + $array2;

Dengan menggunakan operator penambahan ( ), PHP menggabungkan tatasusunan dan mengekalkan kekunci berangka asal. Hasilnya ialah:

$output = [
    '11' => '11',
    '22' => '22',
    '33' => '33',
    '44' => '44',
    '55' => '55',
    '66' => '66',
    '77' => '77'
];

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Kekunci Asal Apabila Menggabungkan Tatasusunan PHP Berkunci Secara Numerik?. 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