Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggabungkan tatasusunan dalam php tanpa mengalih keluar data pendua

Bagaimana untuk menggabungkan tatasusunan dalam php tanpa mengalih keluar data pendua

zbt
zbtasal
2023-07-13 16:55:021233semak imbas

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.

Bagaimana untuk menggabungkan tatasusunan dalam php tanpa mengalih keluar 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!

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
Artikel sebelumnya:Apakah kaedah ajaib dalam phpArtikel seterusnya:Apakah kaedah ajaib dalam php