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

Bincangkan pelbagai kaedah penggabungan tatasusunan dalam PHP

PHPz
PHPzasal
2023-04-26 09:14:141116semak imbas

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);

Output:

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

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);

Hasil keluaran:

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

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);

Hasil Output:

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

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);

Hasil keluaran:

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

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!

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