Rumah > pembangunan bahagian belakang > masalah PHP > Bincangkan pelbagai kaedah penggabungan tatasusunan dalam PHP

Bincangkan pelbagai kaedah penggabungan tatasusunan dalam PHP

PHPz
Lepaskan: 2023-04-26 10:19:40
asal
1153 orang telah melayarinya

Dengan perkembangan pesat pembangunan web, operasi tatasusunan PHP menjadi semakin penting. Daripada memproses data borang hingga menjana kandungan halaman web secara dinamik, tatasusunan PHP membolehkan pembangun mengendalikan pelbagai data dengan mudah. Menggabungkan tatasusunan adalah salah satu operasi paling asas dalam PHP. Dalam pembangunan sebenar, kita biasanya perlu menggabungkan dua atau lebih tatasusunan menjadi satu untuk mengurus dan mengendalikan data dengan lebih baik. Dalam artikel ini, kita akan membincangkan pelbagai kaedah penggabungan tatasusunan dalam PHP.

Kaedah 1: fungsi array_merge

Fungsi array_merge ialah salah satu fungsi yang paling biasa digunakan untuk menggabungkan tatasusunan dalam PHP. Ia boleh menggabungkan dua atau lebih tatasusunan ke dalam tatasusunan baharu.

Sintaks: array_merge_array (array $array1 [, array $array2 [, array $... ]] )

Fungsi array_merge menerima sebarang bilangan array sebagai parameter dan mengembalikan tatasusunan baharu , yang mengandungi semua elemen dalam tatasusunan input. Ambil perhatian bahawa fungsi array_merge tidak menggabungkan tatasusunan secara rekursif. Jika tatasusunan input mempunyai nama kunci yang sama, nilai kemudian akan menimpa nilai sebelumnya.

Berikut ialah contoh:

$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
Salin selepas log masuk

Output:

Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
Salin selepas log masuk

Dalam contoh ini, "warna" dalam $array2 menimpa satu dalam $array1 "warna" , dan "4" mengulangi nilai dalam $array1.

Kaedah 2: +

Anda juga boleh menggunakan operator "+" untuk menggabungkan tatasusunan. Ini pada asasnya menggabungkan dua tatasusunan ke dalam tatasusunan baharu.

Berikut ialah contoh menggunakan operator "+":

$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = $array1 + $array2;
print_r($result);
Salin selepas log masuk

Hasil keluaran:

Array ( [color] => red [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
Salin selepas log masuk

Dalam contoh ini, "warna" dalam $array1 Nilai asal dikekalkan, manakala "warna" dalam $array2 dibuang. Pada masa yang sama, nilai pendua juga akan dibuang.

Perlu diambil perhatian bahawa penggunaan operator "+" adalah terhad kepada tatasusunan dengan kekunci integer. Kaedah ini tidak akan berfungsi jika nama kunci ialah rentetan. Walaupun nama kunci ialah integer, jika terdapat kekunci pendua, kekunci kemudian akan menimpa kekunci sebelumnya.

Kaedah 3: fungsi array_replace

Fungsi array_replace boleh menggabungkan satu atau lebih tatasusunan ke dalam tatasusunan baharu sambil mengekalkan nilai terakhir setiap kunci.

Sintaks: array_replace (array $array1 [, array $array2 [, array $... ]] )

Berikut ialah contoh:

$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_replace($array1, $array2);
print_r($result);
Salin selepas log masuk

Hasil Output:

Array ( [color] => green [0] => a [1] => b [2] => 4 [shape] => trapezoid )
Salin selepas log masuk

Dalam contoh ini, nilai terakhir "warna" ialah nilai "warna" dalam $array2, dan nilai terakhir "4" juga ialah nilai dalam $array2. Ambil perhatian bahawa array_replace tidak mengindeks semula tatasusunan yang terhasil, tetapi menggabungkannya berdasarkan nama kunci.

Kaedah 4: fungsi array_merge_recursive

Fungsi array_merge_recursive ialah varian fungsi array_merge, yang menggabungkan secara rekursif semua elemen dengan nama kunci yang sama ke dalam tatasusunan. Jika nilai yang sepadan dengan kunci yang sama dalam dua tatasusunan ialah tatasusunan, tatasusunan akan digabungkan secara rekursif.

Berikut ialah contoh:

$array1 = array("color" => array("favorite" => "red"), 2, 4);
$array2 = array("color" => array("favorite" => "green"), "shape" => "trapezoid", 4);

$result = array_merge_recursive($array1, $array2);
print_r($result);
Salin selepas log masuk

Hasil keluaran:

Array ( [color] => Array ( [favorite] => Array ( [0] => red [1] => green ) ) [0] => 2 [1] => 4 [shape] => trapezoid )
Salin selepas log masuk

Dalam contoh ini, nilai kekunci "warna" ialah tatasusunan bersekutu, bukan tatasusunan bersekutu Nilai mudah. Oleh itu, apabila menggunakan array_merge_recursive, nilai akan digabungkan secara rekursif, bukan hanya digabungkan.

Ringkasnya, ini ialah empat cara untuk menggabungkan tatasusunan dalam PHP. array_merge() ialah kaedah yang paling biasa digunakan, tetapi anda boleh memilih kaedah lain yang sesuai dengan keperluan khusus anda. array_merge_recursive ialah pilihan terbaik apabila anda perlu menggabungkan tatasusunan bersekutu secara rekursif. Oleh itu, apabila menulis kod PHP, adalah perlu untuk memahami kaedah yang berbeza untuk menggabungkan tatasusunan untuk pengurusan dan manipulasi data yang lebih baik.

Atas ialah kandungan terperinci Bincangkan pelbagai kaedah penggabungan tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan