Bilakah Operator Boleh Menggabungkan Tatasusunan dengan Selamat dalam PHP?

Susan Sarandon
Lepaskan: 2024-10-24 14:41:02
asal
171 orang telah melayarinya

When Can the   Operator Safely Concatenate Arrays in PHP?

Memahami Operator untuk Penggabungan Array dalam PHP

Dalam PHP, operator boleh digunakan untuk menggabungkan dua tatasusunan. Walau bagaimanapun, kes tertentu mungkin timbul apabila pengendali ini berkelakuan di luar jangkaan, membawa kepada keputusan yang salah.

Pertimbangkan kod berikut:

<code class="php">$array = array('Item 1');

$array += array('Item 2');

var_dump($array);</code>
Salin selepas log masuk

Output yang dijangkakan ialah tatasusunan yang mengandungi kedua-dua 'Item 1' dan 'Item 2'. Walau bagaimanapun, output sebenar ialah:

array(1) {
  [0] => string(6) "Item 1"
}
Salin selepas log masuk

Percanggahan ini berlaku kerana PHP meruntuhkan elemen tatasusunan dengan kunci pendua apabila menggunakan operator. Dalam kes ini, kedua-dua elemen mempunyai kunci 0, menyebabkan hanya elemen pertama dikekalkan.

Untuk menangani isu ini dan menggabungkan tatasusunan dengan betul, adalah disyorkan untuk menggunakan fungsi array_merge() sebaliknya.

<code class="php">$arr1 = array('foo');
$arr2 = array('bar');

// Will contain array('foo', 'bar');
$combined = array_merge($arr1, $arr2);</code>
Salin selepas log masuk

Array_merge() mengekalkan struktur tatasusunan, memastikan elemen dengan kekunci yang berbeza digabungkan dengan betul.

Dalam senario di mana elemen tatasusunan memiliki kunci unik, pengendali boleh menjadi pilihan yang sesuai.

<code class="php">$arr1 = array('one' => 'foo');
$arr2 = array('two' => 'bar');

// Will contain array('one' => 'foo', 'two' => 'bar');
$combined = $arr1 + $arr2;</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bilakah Operator Boleh Menggabungkan Tatasusunan dengan Selamat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!