Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menggabungkan Tatasusunan dengan Kekunci Padanan dalam PHP Sambil Mengekalkan Kedua-dua Nilai?

Bagaimana untuk Menggabungkan Tatasusunan dengan Kekunci Padanan dalam PHP Sambil Mengekalkan Kedua-dua Nilai?

Patricia Arquette
Patricia Arquetteasal
2024-10-28 18:43:29913semak imbas

How to Merge Arrays with Matching Keys in PHP While Keeping Both Values?

Menggabungkan Tatasusunan dengan Kekunci Padanan dalam PHP

Apabila bekerja dengan tatasusunan dalam PHP, selalunya perlu untuk menggabungkan berbilang tatasusunan bersama-sama. Walau bagaimanapun, apabila tatasusunan berkongsi kunci yang sepadan, menjadi penting untuk mengendalikan proses penggabungan dengan berhati-hati.

Pendekatan Awal

Seperti yang dinyatakan dalam maklumat yang diberikan, anda cuba untuk menggabungkan dua tatasusunan menggunakan array_merge(). Fungsi ini melakukan cantuman cetek, menggabungkan nilai kedua-dua tatasusunan. Walau bagaimanapun, dalam kes ini, memandangkan tatasusunan mempunyai kekunci bertindih, nilai tatasusunan pertama ditimpa oleh nilai tatasusunan kedua.

Penyelesaian Alternatif Menggunakan array_map()

Untuk menangani isu kekunci bertindih, anda boleh menggunakan array_map(). Fungsi ini menggunakan fungsi panggil balik yang ditentukan pengguna untuk setiap elemen tatasusunan yang ditentukan dan mengembalikan tatasusunan baharu berdasarkan nilai yang diubah suai.

Dalam penyelesaian yang disediakan:

  1. Sediakan Tatasusunan:

    • Tatasusunan $array1 dan $array2 disediakan dengan data yang diberikan.
  2. Tentukan Fungsi Panggilan Balik:

    • Fungsi panggil balik tanpa nama ditakrifkan menggunakan function(). Ia menerima dua parameter, $a dan $b, yang masing-masing mewakili elemen daripada $array1 dan $array2.
  3. Ekstrak Kunci dan Ubah Suai Nilai:

    • Di dalam panggil balik, kunci ($key) diperoleh menggunakan current(array_keys($a)).
    • Nilai dalam $a diubah suai untuk memasukkan 'ip' kunci yang mengandungi nilai asalnya.
  4. Kendalikan Tatasusunan Kedua:

    • Tatasusunan kedua ($b) diproses begitu juga, mendapatkan kuncinya ($kunci) dan mengubah suai nilai untuk memasukkan kunci 'nama'.
  5. Gabungkan Tatasusunan:

    • Tatasusunan yang diubah suai ($a dan $b) digabungkan menggunakan array_merge_recursive(), yang melakukan cantuman mendalam, menggabungkan tatasusunan secara rekursif.
  6. Simpan Keputusan:

    • Hasil gabungan disimpan dalam $results menggunakan operator =.

Output

Output penyelesaian ini ialah tatasusunan yang mana kekunci (Camera1, Camera2, Camera3) digabungkan dan nilai digabungkan di bawah kekunci 'ip' dan 'name', memberikan hasil berstruktur.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Tatasusunan dengan Kekunci Padanan dalam PHP Sambil Mengekalkan Kedua-dua Nilai?. 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