Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bila hendak menggunakan Array Merge Operator dalam PHP?

Bila hendak menggunakan Array Merge Operator dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-10-24 20:03:30944semak imbas

When to Use the Array Merge Operator   in PHP?

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!

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