Bagaimana untuk Menggabungkan Tatasusunan PHP dengan Kekunci Padanan dan Mencipta Sub- Tatasusunan?

DDD
Lepaskan: 2024-10-27 20:33:30
asal
966 orang telah melayarinya

How to Merge PHP Arrays with Matching Keys and Create Sub-Arrays?

Gabungan Tatasusunan PHP: Menggabungkan Tatasusunan dengan Kekunci Padanan

Soalan ini meneroka cara menggabungkan dua tatasusunan PHP yang berkongsi kunci yang sama. Mari kita selami masalah dan penyelesaiannya.

Masalah:

Pertimbangkan dua tatasusunan berikut:

  • Tatasusunan Pertama: Pasangan nilai kunci dengan kunci yang mewakili nombor kamera dan nilai yang mewakili alamat IP.
  • Susun Kedua: Pasangan nilai kunci dengan nombor kamera yang sama tetapi nilai yang berbeza mewakili nama kamera.

Objektifnya adalah untuk menggabungkan tatasusunan ini dengan mengagregatkan nilai yang sepadan dengan setiap kunci yang sepadan.

Penyelesaian Menggunakan array_map:

Walaupun array_merge_recursive boleh menggabungkan tatasusunan secara rekursif, ia memerlukan tatasusunan dengan pasangan nilai kunci yang sepadan . Penyelesaian tersuai menggunakan array_map boleh mencapai hasil yang diingini:

$results = array();

array_map(function($a, $b) use (&$results) {
    $key = current(array_keys($a));
    $a[$key] = array('ip' => $a[$key]);
    $key = current(array_keys($b));
    $b[$key] = array('name' => $b[$key]);
    $results += array_merge_recursive($a, $b);
}, $array1, $array2);
Salin selepas log masuk

Penjelasan:

  • Untuk setiap kunci dalam tatasusunan pertama, ia mencipta sub- tatasusunan dengan kunci 'ip' dan nilai ditetapkan kepada nilai asal.
  • Begitu juga, untuk setiap kunci dalam tatasusunan kedua, ia mencipta sub-tatasusunan dengan 'nama' kunci dan nilai ditetapkan kepada nilai asal .
  • Akhir sekali, ia menggunakan array_merge_recursive untuk menggabungkan sub-tatasusunan yang berkongsi nombor kamera yang sama.

Output ialah tatasusunan dengan kekunci yang mewakili nombor dan nilai kamera sebagai sub-tatasusunan yang mengandungi sifat 'ip' dan 'name'.

Dengan memanfaatkan peta_tatasusunan dan manipulasi kunci tersuai, penyelesaian ini menggabungkan tatasusunan dengan kekunci padanan dengan cekap sambil mengekalkan struktur nilai kunci.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Tatasusunan PHP dengan Kekunci Padanan dan Mencipta Sub- Tatasusunan?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!