Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggabungkan Tatasusunan dengan Kekunci Padanan Tanpa Kehilangan Data?

Bagaimana untuk Menggabungkan Tatasusunan dengan Kekunci Padanan Tanpa Kehilangan Data?

Barbara Streisand
Barbara Streisandasal
2024-11-04 03:20:30347semak imbas

How to Merge Arrays with Matching Keys Without Losing Data?

Menggabungkan Tatasusunan dengan Kekunci Padanan Secara Rekursif

Dalam pembangunan perisian, adalah perkara biasa untuk menggabungkan tatasusunan untuk menyatukan data. Walau bagaimanapun, menggabungkan tatasusunan dengan kunci yang sama boleh menimbulkan cabaran. Fungsi array_merge() menggabungkan tatasusunan dengan menimpa nilai dengan kunci yang sama, berpotensi kehilangan data.

Pertimbangkan contoh berikut:

$A = ['a' => 1, 'b' => 2, 'c' => 3];
$B = ['c' => 4, 'd' => 5];

array_merge($A, $B);

// Result:
['a'] => 1
['b'] => 2
['c'] => 4
['d'] => 5

Seperti yang anda lihat, nilai untuk kunci 'c ' ditimpa, mengakibatkan kehilangan nilai 3. Untuk menangani isu ini, anda boleh menggunakan fungsi array_merge_recursive() sebaliknya.

$A = ['a' => 1, 'b' => 2, 'c' => 3];
$B = ['c' => 4, 'd' => 5];

array_merge_recursive($A, $B);

// Result:
['a'] => 1
['b'] => 2
['c'] => [3, 4]
['d'] => 5

array_merge_recursive() menggabungkan tatasusunan secara rekursif, menggabungkan nilai dengan kunci yang sama ke dalam tatasusunan. Dalam kes ini, tatasusunan yang terhasil mengandungi semua nilai yang dikaitkan dengan kunci 'c' ([3, 4]). Ini memastikan tiada data yang hilang semasa menggabungkan tatasusunan dengan kekunci yang sepadan.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Tatasusunan dengan Kekunci Padanan Tanpa Kehilangan Data?. 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