Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggabungkan nilai tatasusunan berbilang dimensi php

Bagaimana untuk menggabungkan nilai tatasusunan berbilang dimensi php

PHPz
PHPzasal
2023-04-25 09:09:391014semak imbas

Dalam proses pembangunan PHP, tatasusunan berbilang dimensi sering digunakan. Tatasusunan ini terdiri daripada tatasusunan bersarang dan boleh menyimpan sejumlah besar data. Walau bagaimanapun, dalam beberapa kes, kita perlu menggabungkan semua nilai dalam tatasusunan Pada masa ini, kita perlu menggunakan beberapa fungsi yang disediakan oleh PHP untuk mencapai ini.

Terdapat dua situasi di mana penggabungan tatasusunan diperlukan. Yang pertama adalah untuk menggabungkan pasangan nilai kunci yang sama bersama-sama, supaya pertindihan pasangan nilai kunci boleh dihalang semasa pemprosesan tatasusunan. Kes kedua adalah untuk menggabungkan semua nilai dalam tatasusunan multidimensi bersama-sama, supaya nilai dalam tatasusunan yang berbeza boleh digabungkan menjadi satu tatasusunan.

Berikut ialah kaedah pelaksanaan khusus untuk kedua-dua situasi.

Kes pertama:

Kita boleh menggunakan fungsi array_merge untuk menggabungkan pasangan nilai kunci dalam dua tatasusunan bersama-sama. Walau bagaimanapun, jika nilai kunci diduplikasi, nilai yang kedua akan menimpa nilai yang pertama. Kaedah ini hanya boleh menggabungkan tatasusunan dengan dimensi yang sama.

Kod contoh:

$array1 = array('a' => 'apple', 'b' => 'banana');
$array2 = array('c' => 'cherry', 'b' => 'blueberry');
$result = array_merge($array1, $array2);
print_r($result);

Keluaran kod di atas ialah:

Array
(
    [a] => apple
    [b] => blueberry
    [c] => cherry
)

Anda boleh melihatnya kerana 'b' dalam tatasusunan $array2 = > Nilai kunci 'blueberry' diulang dengan nilai kunci 'b' => 'banana' dalam tatasusunan $array1, jadi nilai nilai kunci 'b' dalam hasil output akhir menjadi 'blueberry'.

Kes kedua:

Kita boleh menggunakan fungsi array_merge_recursive untuk menggabungkan semua nilai dalam dua atau lebih tatasusunan berbilang dimensi ke dalam satu tatasusunan tanpa menulis ganti pasangan nilai kunci yang sama menggabungkan nilai dan subarray secara rekursif bersama-sama.

Kod sampel:

$array1 = array('red' => array('apple', 'strawberry'), 'green' => 'kiwi');
$array2 = array('blue' => array('blueberry', 'grape'), 'red' => 'cherry');
$result = array_merge_recursive($array1, $array2);
print_r($result);

Keluaran kod di atas ialah:

Array
(
    [red] => Array
        (
            [0] => apple
            [1] => strawberry
            [2] => cherry
        )

    [green] => kiwi
    [blue] => Array
        (
            [0] => blueberry
            [1] => grape
        )

)

Seperti yang anda lihat, kerana nilai kunci 'merah' dalam $ tatasusunan array2 ialah Ia sudah wujud dalam tatasusunan $array1, jadi pasangan nilai kunci 'red' => 'ceri' dalam tatasusunan $array2 ditambah pada tatasusunan nilai kunci merah.

Menggunakan dua kaedah di atas, anda boleh menggabungkan pasangan nilai kunci dan nilai dengan mudah dalam tatasusunan berbilang dimensi PHP untuk memproses data dengan lebih cekap.

Atas ialah kandungan terperinci Bagaimana untuk menggabungkan nilai tatasusunan berbilang dimensi php. 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