Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengenalan kepada cara menggunakan fungsi PHP array_merge_recursive().

Pengenalan kepada cara menggunakan fungsi PHP array_merge_recursive().

WBOY
WBOYasal
2023-06-27 12:21:521245semak imbas

Fungsi array_merge_recursive() dalam PHP ialah kaedah menggabungkan dua atau lebih tatasusunan ke dalam satu tatasusunan Perbezaan antaranya dan fungsi array_merge() ialah ia bukan sahaja menggabungkan elemen tatasusunan, tetapi juga menggabungkan setiap elemen tatasusunan digabungkan secara rekursif. tatasusunan yang lebih besar. Oleh itu, fungsi array_merge_recursive() sangat berguna apabila bersarang dalam dan perlu menggabungkan tatasusunan secara rekursif. Artikel ini akan memperkenalkan penggunaan khusus fungsi array_merge_recursive(). Sintaks asas bagi fungsi

array_merge_recursive() adalah seperti berikut:

array array_merge_recursive(array $array1 [, array $array2 [, array $... ]] )

Antaranya, $array1 ialah parameter yang diperlukan, menunjukkan bahawa anda ingin menggabungkan tatasusunan pertama. $array2 hingga $arrayN ialah parameter pilihan yang menunjukkan tatasusunan lain untuk digabungkan.

Contoh 1:

Berikut ialah contoh mudah yang menunjukkan cara menggabungkan dua tatasusunan menjadi satu:

$array1 = array("color" => array("favorite" => "red"), 5);
$array2 = array(10, "color" => array("favorite" => "green", "blue"));

$result = array_merge_recursive($array1, $array2);
print_r($result);

Keluaran adalah seperti berikut:

Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )
            [0] => blue
        )
    [0] => 5
    [1] => 10
)

Seperti yang anda lihat, elemen tatasusunan berjaya digabungkan menjadi satu tatasusunan, Dan nama kunci tatasusunan yang sama akan disimpan.

Contoh 2:

Contoh seterusnya akan menunjukkan cara menambah tatasusunan lain berdasarkan satu tatasusunan. Secara khusus, kita mula-mula mencipta tatasusunan bernama "orang" dan kemudian menggabungkan tiga tatasusunan bernama "John", "Sarah" dan "Michael" ke dalam tatasusunan ini:

$people = array(
    "John" => array("age" => 25, "sex" => "male"),
    "Sarah" => array("age" => 31, "sex" => "female"),
);

$people = array_merge_recursive($people, array(
    "John" => array("height" => "6'1""),
    "Michael" => array("age" => 37)
));

print_r($people);

Keluarannya adalah seperti berikut:

Array
(
    [John] => Array
        (
            [age] => Array
                (
                    [0] => 25
                )
            [sex] => Array
                (
                    [0] => male
                )
            [height] => Array
                (
                    [0] => 6'1"
                )
        )
    [Sarah] => Array
        (
            [age] => Array
                (
                    [0] => 31
                )
            [sex] => Array
                (
                    [0] => female
                )
        )
    [Michael] => Array
        (
            [age] => Array
                (
                    [0] => 37
                )
        )
)

Anda boleh melihat bahawa " nama kunci umur" dan "jantina" bagi "John" sudah wujud, nama kunci "ketinggian" ditambahkan semasa penggabungan, dan tatasusunan "Michael" ditambah sepenuhnya pada tatasusunan "orang". Dalam erti kata lain, fungsi array_merge_recursive() boleh menggabungkan sepenuhnya dua tatasusunan berbeza ke dalam tatasusunan yang lebih besar Nilai dengan nama kunci yang sama akan digabungkan secara rekursif, dan nilai dengan nama kunci yang berbeza akan ditambahkan pada tatasusunan baharu.

Ringkasan: Fungsi

array_merge_recursive() boleh digunakan dengan sangat mudah apabila berbilang tatasusunan perlu digabungkan hujung ke hujung. Apabila terdapat subarray bersarang dalam tatasusunan, fungsi ini boleh menggabungkan tatasusunan ini secara rekursif dan mengelakkan konflik nama utama dalam subarray.

Atas ialah kandungan terperinci Pengenalan kepada cara menggunakan fungsi PHP array_merge_recursive().. 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