Rumah >pembangunan bahagian belakang >masalah PHP >fungsi penggantian tatasusunan php
Dalam bahasa pengaturcaraan PHP, tatasusunan ialah jenis data yang sangat biasa dan praktikal. Dalam tatasusunan, kami boleh mengakses dan mengubah suai elemen tatasusunan dengan cepat berdasarkan subskrip. Tetapi dalam pengaturcaraan sebenar, kita sering perlu menggantikan elemen dalam tatasusunan Pada masa ini, fungsi penggantian tatasusunan terbina dalam PHP adalah sangat mudah dan praktikal.
Artikel ini akan memperkenalkan secara terperinci fungsi penggantian tatasusunan dalam PHP, termasuk array_replace(), array_replace_recursive(), array_merge(), array_merge_recursive() dan array_combine() dan fungsi lain.
1. array_replace()
Fungsi array_replace() digunakan untuk menggantikan elemen dalam satu tatasusunan dengan elemen dalam tatasusunan yang lain . Sintaks fungsi ini adalah seperti berikut:
array array_replace ( array $array1 , array $array2 [, array $... ] )
Antaranya, $array1 ialah tatasusunan asal, $array2 ialah tatasusunan yang akan diganti dan $... bermakna berbilang tatasusunan boleh dihantar masuk. Fungsi ini akan mengembalikan tatasusunan yang diganti.
Berikut ialah contoh kod:
<?php $array1 = array("a" => "apple", "b" => "banana", "c" => "cherry"); $array2 = array("b" => "blueberry", "c" => "coconut"); $result = array_replace($array1, $array2); print_r($result); ?>
Keluaran kod ini adalah seperti berikut:
Array ( [a] => apple [b] => blueberry [c] => coconut )
Seperti yang anda lihat, elemen dalam tatasusunan $array2 telah menggantikan tatasusunan $array1 elemen sepadan.
2. array_replace_recursive()
Penggunaan fungsi array_replace_recursive() pada asasnya sama dengan array_replace(), tetapi ia akan menggantikan elemen dalam array secara rekursif. Sintaks fungsi ini adalah seperti berikut:
array array_replace_recursive ( array $array1 , array $array2 [, array $... ] )
Tidak seperti array_replace(), operasi penggantian fungsi ini dilakukan secara rekursif. Sebagai contoh, jika terdapat dua tatasusunan:
$array1 = array("a" => array("b" => "banana", "c" => "cherry")); $array2 = array("a" => array("b" => "blueberry", "d" => "date"));
Jika kita menggunakan fungsi array_replace(), hasilnya adalah seperti ini:
$result = array_replace($array1, $array2); print_r($result);
Hasil output:
Array ( [a] => Array ( [b] => blueberry [c] => cherry [d] => date ) )
Seperti yang anda boleh lihat, $ Elemen dalam array2 berjaya menggantikan elemen dalam $array1, tetapi elemen "c" yang asalnya milik $array1 telah dipadamkan. Ini kerana fungsi array_replace() hanya menggantikan elemen dalam $array2 dengan elemen dalam $array1, dan tidak mengambil kira subarray.
Jika kita menggunakan fungsi array_replace_recursive() untuk menggantikan dua tatasusunan ini, hasilnya adalah seperti ini:
$result = array_replace_recursive($array1, $array2); print_r($result);
Hasil keluaran:
Array ( [a] => Array ( [b] => blueberry [c] => cherry [d] => date ) )
Seperti yang anda lihat, elemen dalam $array1 "c" berjaya dikekalkan, dan elemen "d" dalam $array2 juga berjaya ditambahkan pada tatasusunan hasil, yang bermaksud bahawa fungsi array_replace_recursive() secara rekursif mengekalkan semua elemen dalam kedua-dua tatasusunan.
3. array_merge()
Fungsi array_merge() digunakan untuk menggabungkan berbilang tatasusunan ke dalam tatasusunan baharu dan mengalih keluar elemen pendua. Sintaks fungsi ini adalah seperti berikut:
array array_merge ( array $array1 [, array $... ] )
Antaranya, $array1 ialah tatasusunan pertama dan berbilang tatasusunan boleh dihantar masuk. Fungsi ini mengembalikan tatasusunan gabungan baharu.
Berikut ialah contoh kod:
<?php $array1 = array("a" => "apple", "b" => "banana"); $array2 = array("b" => "blueberry", "c" => "cherry"); $result = array_merge($array1, $array2); print_r($result); ?>
Keluaran kod ini adalah seperti berikut:
Array ( [a] => apple [b] => blueberry [c] => cherry )
Seperti yang anda lihat, fungsi ini menggabungkan elemen dalam dua tatasusunan ke dalam Tatasusunan baharu dengan elemen pendua dialih keluar.
4. array_merge_recursive()
Penggunaan fungsi array_merge_recursive() adalah serupa dengan array_merge(), kecuali ia akan menggabungkan unsur-unsur dalam tatasusunan secara rekursif. Sintaks fungsi ini adalah seperti berikut:
array array_merge_recursive ( array $array1 [, array $... ] )
Tidak seperti array_merge(), operasi penggabungan fungsi ini dilakukan secara rekursif. Sebagai contoh, jika terdapat dua tatasusunan:
$array1 = array("a" => array("b" => "banana")); $array2 = array("a" => array("c" => "cherry"));
Jika kita menggunakan fungsi array_merge() untuk menggabungkan dua tatasusunan, hasilnya adalah seperti ini:
$result = array_merge($array1, $array2); print_r($result);
Hasil keluaran:
Array ( [a] => Array ( [c] => cherry ) )
Seperti yang anda lihat, elemen dalam $array2 berjaya digabungkan ke dalam tatasusunan hasil, tetapi elemen "b" yang asalnya milik $array1 telah dipadamkan. Ini kerana fungsi array_merge() hanya menggabungkan elemen dalam dua tatasusunan tanpa mengambil kira subarray.
Jika kita menggunakan fungsi array_merge_recursive() untuk menggabungkan dua tatasusunan ini, hasilnya adalah seperti ini:
$result = array_merge_recursive($array1, $array2); print_r($result);
Hasil keluaran:
Array ( [a] => Array ( [b] => banana [c] => cherry ) )
Seperti yang anda lihat, $array1 dan $array2 Unsur-unsur dalam berjaya digabungkan ke dalam tatasusunan hasil, yang bermaksud bahawa fungsi array_merge_recursive() secara rekursif menggabungkan semua elemen dalam dua tatasusunan.
5. array_combine()
Fungsi array_combine() digunakan untuk menggunakan nama kunci dalam satu tatasusunan sebagai nilai dalam tatasusunan lain untuk menjana tatasusunan baharu. Sintaks fungsi ini adalah seperti berikut:
array array_combine ( array $keys , array $values )
Antaranya, $keys ialah tatasusunan yang mengandungi nama kunci, dan $values adalah tatasusunan yang mengandungi nilai kunci. Fungsi ini akan mengembalikan tatasusunan baharu dengan kunci daripada tatasusunan $keys dan nilai kunci daripada tatasusunan $nilai.
Berikut ialah contoh kod:
<?php $keys = array("a", "b", "c"); $values = array("apple", "banana", "cherry"); $result = array_combine($keys, $values); print_r($result); ?>
Output kod ini adalah seperti berikut:
Array ( [a] => apple [b] => banana [c] => cherry )
Seperti yang anda lihat, fungsi ini menukar elemen dalam $keys dan tatasusunan $values Dipasangkan bersama, tatasusunan baharu dijana.
Ringkasan
Artikel ini memperkenalkan fungsi penggantian tatasusunan dalam PHP, termasuk array_replace(), array_replace_recursive(), array_merge(), array_merge_recursive() dan array_combine() dan fungsi lain. Fungsi ini sangat berguna dalam pengaturcaraan sebenar dan boleh membantu kami mengendalikan dan memproses tatasusunan dengan cepat serta meningkatkan kualiti dan kecekapan kod.
Atas ialah kandungan terperinci fungsi penggantian tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!