Penggabungan Tatasusunan dengan Operator: Didedahkan
Dalam PHP, pengendali boleh digunakan untuk menggabungkan dua tatasusunan. Walau bagaimanapun, terdapat keadaan di mana kaedah ini bertindak secara tidak dijangka, seperti yang ditunjukkan oleh coretan kod di bawah:
<code class="php">$array = array('Item 1'); $array += array('Item 2'); var_dump($array);</code>
Kod ini menghasilkan output:
array(1) { [0]=> string(6) "Item 1" }
Bertentangan dengan jangkaan, yang kedua item tidak ditambahkan pada tatasusunan. Untuk memahami tingkah laku ini, kami menyelidiki selok-belok kekunci tatasusunan.
Apabila menggunakan operator untuk menggabungkan tatasusunan, ia memberikan kunci 0 kepada semua elemen. Akibatnya, mana-mana elemen sedia ada dengan kunci yang berbeza akan ditimpa. Untuk mengelakkan ini, pendekatan yang disyorkan ialah menggunakan fungsi array_merge():
<code class="php">$arr1 = array('foo'); $arr2 = array('bar'); $combined = array_merge($arr1, $arr2);</code>
Kod ini menggabungkan tatasusunan dengan betul, menghasilkan:
array('foo', 'bar');
Walau bagaimanapun, jika kekunci masuk tatasusunan adalah unik, pengendali boleh digunakan dengan berkesan:
<code class="php">$arr1 = array('one' => 'foo'); $arr2 = array('two' => 'bar'); $combined = $arr1 + $arr2;</code>
Kod ini menghasilkan output yang diingini:
array('one' => 'foo', 'two' => 'bar');
Atas ialah kandungan terperinci Bila hendak menggunakan Array Merge Operator dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!