Cara PHP menggabungkan tatasusunan tanpa mengalih keluar data pendua ialah: dengan menggunakan fungsi array_merge_recursive, anda boleh menggabungkan tatasusunan tanpa mengalih keluar data pendua, tetapi menggabungkan data pendua menjadi sub-tatasusunan, supaya semua data boleh dikekalkan dan tidak akan data pendua.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi php8.1.3, komputer DELL G3.
Dalam PHP, anda boleh menggunakan fungsi array_merge untuk menggabungkan dua tatasusunan. Fungsi fungsi array_merge adalah untuk menggabungkan satu atau lebih tatasusunan ke dalam tatasusunan baru. Walau bagaimanapun, fungsi array_merge akan menyahduplikasi data pendua Jika kita ingin menggabungkan tatasusunan tanpa mengalih keluar data pendua, kita boleh menggunakan fungsi array_merge_recursive.
Fungsi array_merge_recursive mempunyai fungsi yang serupa dengan fungsi array_merge, tetapi ia tidak akan mengalih keluar data pendua. Apabila nama kunci yang sama wujud dalam tatasusunan, fungsi array_merge_recursive akan menggabungkan data dengan nama kunci yang sama ke dalam subarray.
Sintaks:
array_merge_recursive ( tatasusunan $array1 [, tatasusunan $... ] ) : tatasusunan
Penerangan parameter:
-$array1:要合并的第一个数组,必需。 -$...:要合并的其他数组,可选。
Nilai pulangan:
Tatasusunan yang digabungkan
Berikut ialah contoh untuk menunjukkan penggunaan fungsi array_merge_recursive:
$array1=array('a'=>'apple','b'=>'banana'); $array2=array('a'=>'orange','c'=>'cherry'); $array3=array('d'=>'durian'); $result=array_merge_recursive($array1,$array2,$array3); print_r($result); 输出结果: Array ( [a]=>Array ( [0]=>apple [1]=>orange ) [b]=>banana [c]=>cherry [d]=>durian )
Anda boleh melihat bahawa kekunci 'a' dalam tatasusunan $array1 dan array $array2 diulang, tetapi selepas bergabung melalui fungsi array_merge_recursive, kekunci berulang akan dicantumkan menjadi subaray.
Perlu diingat bahawa jika nama kunci yang sama mengandungi bukan tatasusunan dan tatasusunan semasa menggabungkan tatasusunan, fungsi tatasusunan_merge_rekursif akan menukar nilai bukan tatasusunan kepada tatasusunan.
Contohnya:
$array1=array('a'=>'apple','b'=>'banana'); $array2=array('a'=>array('orange','cherry')); $result=array_merge_recursive($array1,$array2); print_r($result); 输出结果: Array ( [a]=>Array ( [0]=>apple [1]=>Array ( [0]=>orange [1]=>cherry ) ) [b]=>banana )
Dalam contoh di atas, kekunci 'a' dalam tatasusunan $array2 ialah tatasusunan, manakala kekunci 'a' dalam tatasusunan $array1 ialah rentetan. Selepas bergabung melalui fungsi array_merge_recursive, kekunci 'a' dalam tatasusunan $array1 akan ditukar menjadi tatasusunan.
Untuk meringkaskan, dengan menggunakan fungsi array_merge_recursive, kami tidak boleh mengalih keluar data pendua apabila menggabungkan tatasusunan, tetapi menggabungkan data pendua ke dalam sub-tatasusunan. Dengan cara ini semua data dikekalkan dan data pendua tidak hilang .
Atas ialah kandungan terperinci Bagaimana untuk menggabungkan tatasusunan dalam php tanpa mengalih keluar data pendua. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!