Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang penggunaan fungsi array_merge_recursive () PHP

Penjelasan terperinci tentang penggunaan fungsi array_merge_recursive () PHP

王林
王林asal
2023-06-27 10:01:392162semak imbas

PHP ialah bahasa skrip bahagian pelayan sumber terbuka yang digunakan secara meluas Jika anda seorang pemula PHP, mungkin anda sudah tahu sintaks asas menggunakan tatasusunan. Dalam banyak kes, adalah sangat perlu untuk memproses tatasusunan dan menggabungkannya, itulah sebabnya PHP menyediakan fungsi array_merge_recursive(). Fungsi

array_merge_recursive() ialah salah satu fungsi terbina dalam PHP, yang digunakan untuk menggabungkan satu atau lebih tatasusunan. Fungsi ini akan menggabungkan elemen semua tatasusunan, termasuk tatasusunan bersarang. Fungsi ini berkelakuan sedikit berbeza apabila menggabungkan dua atau lebih tatasusunan antara satu sama lain. Artikel ini akan memperkenalkan anda kepada penggunaan terperinci fungsi array_merge_recursive() dalam PHP.

Penggunaan asas

Sintaks asas fungsi array_merge_recursive() adalah seperti berikut:

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

Parameter $array1 ialah tatasusunan pertama yang akan digabungkan, dan parameter $... ialah tatasusunan lain yang akan digabungkan, yang mana boleh menjadi sebarang susunan nombor. Fungsi ini mengembalikan hasil gabungan berbilang tatasusunan. Berikut ialah contoh mudah:

$array1 = array('a' => array('b', 'c'));
$array2 = array('a' => array('d', 'e'));

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

Hasil output adalah seperti berikut:

Array
(
    [a] => Array
        (
            [0] => b
            [1] => c
            [2] => d
            [3] => e
        )
)

Seperti yang anda lihat, apabila kita menggabungkan tatasusunan $array1 dan $array2, tatasusunan 'b' dan 'c' di bawah 'a' ialah digabungkan ke dalam hasil, Tatasusunan 'd' dan 'e' di bawah 'a' juga digabungkan ke dalam hasil.

Pemprosesan nama kunci tatasusunan

Apabila menggunakan fungsi array_merge_recursive(), jika tatasusunan yang hendak digabungkan mempunyai nama kunci rentetan yang sama, elemen tatasusunan ini akan digabungkan menjadi satu tatasusunan.

$array1 = array('a' => 'apple', 'b' => 'banana');
$array2 = array('a' => 'pear', 'c' => 'cherry');

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

Keluaran kod di atas adalah seperti berikut:

Array
(
    [a] => Array
        (
            [0] => apple
            [1] => pear
        )
    [b] => banana
    [c] => cherry
)

Seperti yang anda lihat, memandangkan tatasusunan $array1 dan $array2 kedua-duanya mempunyai nama kunci 'a', hasilnya, tatasusunan di bawah 'a' mengandungi mereka nilai.

Penggabungan tatasusunan bersarang

fungsi array_merge_recursive() boleh mengendalikan penggabungan tatasusunan bersarang dengan betul. Apabila elemen tatasusunan yang hendak digabungkan ialah tatasusunan, fungsi ini akan menggabungkan tatasusunan secara rekursif. Contohnya:

$array1 = array('a' => array('b', 'c'));
$array2 = array('a' => array('d', 'e'));

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

Keluaran kod di atas adalah seperti berikut:

Array
(
    [a] => Array
        (
            [0] => b
            [1] => c
            [2] => d
            [3] => e
        )
)

Anda boleh melihat bahawa apabila menggabungkan tatasusunan $array1 dan $array2, kedua-dua tatasusunan mengandungi kunci 'a' dan tatasusunan Pada masa ini, array_merge_recursive(. ) akan mengulangi Gabungkan dua tatasusunan dan cantumkannya ke dalam tatasusunan baharu di bawah kekunci 'a'.

Fungsi gabungan objek

array_merge_recursive() juga boleh digunakan untuk menggabungkan objek. Apabila menggabungkan objek, fungsi ini akan memilih sifat penggabungan objek tersebut daripada contoh objek.

class Fruit {
    public $name;
    public $color;

    public function __construct($name, $color) {
        $this->name = $name;
        $this->color = $color;
    }
}

$apple = new Fruit('apple', 'red');
$banana = new Fruit('banana', 'yellow');
$pear = new Fruit('pear', 'green');

$result = array_merge_recursive((array)$apple, (array)$banana, (array)$pear);
print_r($result);

Kod di atas akan mencipta tiga objek Buah yang berbeza dan menukarnya kepada tatasusunan, kemudian menggabungkannya menggunakan fungsi array_merge_recursive().

Hasil keluaran adalah seperti berikut:

Array
(
    [name] => Array
        (
            [0] => apple
            [1] => banana
            [2] => pear
        )
    [color] => Array
        (
            [0] => red
            [1] => yellow
            [2] => green
        )
)

Anda boleh melihat bahawa dalam tatasusunan hasil, sifat semua objek digabungkan menjadi tatasusunan. Fungsi

Ringkasan

array_merge_recursive() ialah fungsi yang digunakan secara meluas dalam PHP. Ia boleh digunakan untuk menggabungkan satu atau lebih tatasusunan, termasuk tatasusunan bersarang dan objek. Ciri terbesar fungsi ini ialah ia boleh menggabungkan tatasusunan bersarang secara rekursif. Apabila menggunakan fungsi ini, anda perlu memberi perhatian kepada pengendalian nama kunci tatasusunan untuk mengelakkan ralat yang tidak perlu. Ingat untuk menggunakan fungsi ini seperti yang diperlukan semasa pembangunan sebenar untuk mengelakkan operasi penggabungan berlebihan yang menjejaskan kecekapan pelaksanaan kod.

Atas ialah kandungan terperinci Penjelasan terperinci tentang penggunaan fungsi array_merge_recursive () 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