Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggabungkan tatasusunan PHP dengan kunci yang sepadan dan menggabungkan nilainya?

Bagaimana untuk menggabungkan tatasusunan PHP dengan kunci yang sepadan dan menggabungkan nilainya?

DDD
DDDasal
2024-11-01 08:28:30283semak imbas

How to merge PHP arrays with matching keys and combine their values?

Tatasusunan PHP: Menggabung Tatasusunan dengan Kekunci Padanan

Dalam PHP, terdapat keadaan apabila kita perlu menggabungkan berbilang tatasusunan, memastikan item itu dengan kunci yang sama digabungkan. Pertimbangkan senario berikut:

Masalah:

Kami mempunyai dua tatasusunan dengan kekunci yang sepadan dan ingin menggabungkannya, seperti:

<code class="php">$array1 = [
    ['Camera1' => '192.168.101.71'],
    ['Camera2' => '192.168.101.72'],
    ['Camera3' => '192.168.101.74']
];

$array2 = [
    ['Camera1' => 'VT'],
    ['Camera2' => 'UB'],
    ['Camera3' => 'FX']
];</code>

Penyelesaian:

Untuk menggabungkan tatasusunan ini sambil mengekalkan perhubungan nilai kunci, kita boleh menggunakan array_map bersama-sama dengan array_keys untuk memanipulasi dan menggabungkannya:

<code class="php">$results = array();

array_map(function($a, $b) use (&$results) {

    $key1 = current(array_keys($a));
    $a[$key1] = ['ip' => $a[$key1]];

    $key2 = current(array_keys($b));
    $b[$key2] = ['name' => $b[$key2]];

    $results = array_merge_recursive($a, $b);

}, $array1, $array2);</code>

Ini penyelesaian berfungsi dengan menggelung setiap elemen dalam kedua-dua tatasusunan, mengekstrak kunci yang sepadan dan menamakan semula nilai untuk memastikan ia boleh digabungkan menggunakan array_merge_recursive. Hasilnya ialah tatasusunan di mana setiap kunci mempunyai hasil gabungan, seperti yang ditunjukkan di bawah:

<code class="php">array (
  'Camera1' => array (
    'ip' => '192.168.101.71',
    'name' => 'VT'
  ),
  'Camera2' => array (
    'ip' => '192.168.101.72',
    'name' => 'UB'
  ),
  'Camera3' => array (
    'ip' => '192.168.101.74',
    'name' => 'FX'
  )
)</code>

Atas ialah kandungan terperinci Bagaimana untuk menggabungkan tatasusunan PHP dengan kunci yang sepadan dan menggabungkan nilainya?. 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