Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Pengendali PHP ' ' Menggabung Tatasusunan dan Mengendalikan Kekunci Pendua?

Bagaimanakah Pengendali PHP ' ' Menggabung Tatasusunan dan Mengendalikan Kekunci Pendua?

Barbara Streisand
Barbara Streisandasal
2024-12-07 10:26:13657semak imbas

How Does PHP's

Menggabungkan Tatasusunan dengan " " Operator: Membongkar Gelagatnya

Dalam PHP, pengendali memudahkan penggabungan dua tatasusunan, menambahkan elemen daripada tatasusunan sebelah kanan ke tatasusunan sebelah kiri. Walau bagaimanapun, memahami cara ia mengendalikan kunci pendua adalah penting.

Cara Ia Berfungsi

Menurut Manual PHP:

The + operator returns the right-hand array appended to the left-hand array; for keys that exist in both arrays, the elements from the left-hand array will be used, and the matching elements from the right-hand array will be ignored.

Contoh

Pertimbangkan perkara berikut contoh:

$test = array('hi');
$test += array('test', 'oh');
var_dump($test);

Output:

array(2) {
  [0]=>
  string(2) "hi"
  [1]=>
  string(2) "oh"
}

Penjelasan

Operator menambahkan elemen daripada tatasusunan kedua (ujian, oh) ke penghujung tatasusunan pertama (hi). Walau bagaimanapun, ia tidak menggantikan kunci pendua (hi), jadi ia kekal dalam tatasusunan yang digabungkan.

Perbandingan dengan array_merge()

Pengendali berbeza daripada array_merge() berfungsi dalam tingkah lakunya apabila mengendalikan kunci pendua. array_merge() menimpa kekunci pendua daripada tatasusunan sebelah kiri dengan kekunci daripada tatasusunan sebelah kanan.

Butiran Pelaksanaan

Pelaksanaan peringkat C pengendali boleh ditemui dalam php-src/Zend/zend_operators.c. Logiknya adalah bersamaan dengan coretan berikut:

$union = $array1;

foreach ($array2 as $key => $value) {
    if (false === array_key_exists($key, $union)) {
        $union[$key] = $value;
    }
}

Coretan ini mencipta tatasusunan baharu ($penyatuan) berdasarkan tatasusunan pertama ($array1) dan menambah kunci dan nilai bukan pendua daripada tatasusunan kedua ( $array2).

Kesimpulan

Pengendali dalam PHP menyediakan cara yang mudah untuk menggabungkan tatasusunan, tetapi amat penting untuk memahami tingkah laku khusus apabila ia menemui kunci pendua. Fungsi array_merge() menawarkan alternatif yang menimpa kekunci pendua, membenarkan lebih kawalan ke atas tatasusunan yang digabungkan.

Atas ialah kandungan terperinci Bagaimanakah Pengendali PHP ' ' Menggabung Tatasusunan dan Mengendalikan Kekunci Pendua?. 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