Dalam PHP, biasanya kami menggunakan fungsi array_merge()
untuk menggabungkan dua atau lebih tatasusunan. Walau bagaimanapun, kadangkala kita memerlukan cara yang lebih cekap untuk menggabungkan tatasusunan dan perlu mengelak daripada menggunakan panggilan fungsi. Dalam artikel ini, kami akan berkongsi beberapa cara untuk menggabungkan tatasusunan tanpa menggunakan fungsi.
1 Gunakan operator +
+
boleh digunakan untuk menggabungkan dua tatasusunan. Ia akan menggabungkan tatasusunan kiri dengan tatasusunan kanan dan mengalih keluar nama kunci yang sama dalam tatasusunan kanan seperti dalam tatasusunan kiri. Berikut ialah contoh penggabungan tatasusunan menggunakan operator +
:
$arr1 = ['a' => 1, 'b' => 2]; $arr2 = ['b' => 3, 'c' => 4]; $result = $arr1 + $arr2; print_r($result); // 输出:Array ( [a] => 1 [b] => 2 [c] => 4 )
Dalam contoh di atas, nama kunci dalam tatasusunan $arr1
ialah b
dan nama kunci dalam $arr2
tatasusunan Untuk b
, selepas menggunakan operator +
untuk menggabungkan dua tatasusunan, hanya $result
dalam $arr1
dikekalkan dalam tatasusunan b
, manakala $arr2
dalam b
diabaikan.
2. Gunakan sintaks $array[]
Dalam PHP, anda boleh menggunakan sintaks $array[]
untuk menambah elemen pada penghujung tatasusunan. Dengan cara ini kita boleh menggabungkan dua tatasusunan menjadi satu. Berikut ialah contoh mencantumkan tatasusunan menggunakan sintaks $array[]
:
$arr1 = ['a' => 1, 'b' => 2]; $arr2 = ['b' => 3, 'c' => 4]; foreach ($arr2 as $key => $value) { $arr1[$key] = $value; } print_r($arr1); // 输出:Array ( [a] => 1 [b] => 3 [c] => 4 )
Dalam contoh di atas, kami mengulangi tatasusunan $arr2
dan menambah setiap elemen di dalamnya pada tatasusunan $arr1
. Dengan cara ini, kita boleh menambah elemen tatasusunan $arr2
pada tatasusunan $arr1
, dengan itu menggabungkan tatasusunan.
3. Alternatif untuk menggunakan fungsi array_replace_recursive()
Dalam PHP, kita boleh menggunakan fungsi array_replace_recursive()
untuk menggabungkan dua tatasusunan. Walau bagaimanapun, fungsi ini secara rekursif menggabungkan elemen daripada dua tatasusunan, jadi ia mungkin lebih perlahan apabila bekerja dengan tatasusunan besar. Berikut ialah contoh penggabungan tatasusunan menggunakan fungsi array_replace_recursive()
:
$arr1 = ['a' => ['b' => 2, 'c' => 3]]; $arr2 = ['a' => ['c' => 4, 'd' => 5]]; $result = array_replace_recursive($arr1, $arr2); print_r($result); // 输出:Array ( [a] => Array ( [b] => 2 [c] => 4 [d] => 5 ) )
Dalam contoh di atas, elemen $arr1
dalam tatasusunan a
mengandungi elemen $arr2
dalam c
tatasusunan , selepas menggunakan fungsi array_replace_recursive()
untuk menggabungkan dua tatasusunan, elemen $result
dalam tatasusunan a
mengandungi elemen $arr2
dan c
dalam tatasusunan d
.
Walau bagaimanapun, terdapat cara untuk mengelak daripada menggunakan fungsi array_replace_recursive()
dan mencapai penggabungan tatasusunan pada masa yang sama. Kita boleh menggunakan fungsi array_merge_recursive()
dan fungsi array_replace()
. Berikut ialah contoh penggabungan tatasusunan menggunakan kaedah ini:
$arr1 = ['a' => ['b' => 2, 'c' => 3]]; $arr2 = ['a' => ['c' => 4, 'd' => 5]]; $result = array_merge_recursive($arr1, $arr2); $result = array_replace($result, $arr1); print_r($result); // 输出:Array ( [a] => Array ( [b] => 2 [c] => 4 [d] => 5 ) )
Dalam contoh di atas, kita mula-mula menggabungkan dua tatasusunan menggunakan fungsi array_merge_recursive()
dan kemudian gunakan fungsi array_replace()
untuk menggabungkan $arr1
Elemen dalam tatasusunan ditimpa ke dalam tatasusunan yang terhasil. Dengan cara ini, kami berjaya menggabungkan dua tatasusunan menjadi satu.
Ringkasan:
Dalam PHP, kami biasanya menggunakan fungsi array_merge()
untuk menggabungkan dua atau lebih tatasusunan. Dalam artikel ini, kami memperkenalkan cara untuk menggabungkan tatasusunan tanpa menggunakan fungsi, termasuk menggunakan operator +
, sintaks $array[]
, alternatif kepada fungsi array_merge_recursive()
dan banyak lagi. Kaedah ini boleh meningkatkan kecekapan kod anda dan mengurangkan overhed panggilan fungsi.
Atas ialah kandungan terperinci Bagaimana untuk menggabungkan tatasusunan dalam php tanpa menggunakan fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!