Rumah > Artikel > pembangunan bahagian belakang > Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci)
Dalam artikel sebelumnya "Ketahui tiga kaedah untuk mendapatkan set perbezaan berbilang tatasusunan (Koleksi) ", ia memperkenalkan secara terperinci pengetahuan berkaitan tentang cara mendapatkan kaedah set perbezaan tatasusunan dalam PHP. Dalam artikel ini kita Mari kita lihat pengetahuan yang berkaitan tentang cara menggantikan elemen dalam tatasusunan dalam PHP. Saya harap ia akan membantu semua orang!
Dalam artikel sebelumnya, kami menyebut bahawa jika anda ingin menggantikan rentetan dalam PHP, anda boleh menggunakan fungsi str_replace
dan fungsi substr_replace
(). Rentetan dan Tatasusunan ialah jenis data yang sangat penting dalam PHP, jadi bagaimana kita boleh menggantikan elemen dalam tatasusunan?
Dalam PHP, anda boleh menggantikan elemen dalam tatasusunan melalui fungsi array_splice
, fungsi array_replace
dan fungsi array_replace_recursive
Mari kita lihat cara menggunakan ketiga-tiga fungsi ini.
<strong><span style="font-size: 20px;">array_splice</span></strong>
Fungsi
Dalam PHP, anda boleh menggunakan fungsi array_splice
untuk mengalih keluar elemen daripada tatasusunan dan menggunakan elemen baharu untuk Sebaliknya, format sintaks asas bagi fungsi array_splice
adalah seperti berikut:
array_splice(array,start,length,array)
Apa yang perlu diberi perhatian ialah:
Parameter pertama array
mewakili perkara yang kita perlu lakukan Tatasusunan operasi, parameter start
digunakan untuk menunjukkan kedudukan permulaan elemen yang dipadam, panjang parameter digunakan untuk menentukan bilangan elemen yang akan dialih keluar, dan juga panjang tatasusunan dalam yang dikembalikan Hasilnya. Parameter kedua array
digunakan untuk menentukan tatasusunan dengan elemen untuk dimasukkan ke dalam tatasusunan asal.
Apabila parameter start
ialah nombor positif, ini bermakna mula mengalih keluar daripada offset yang ditentukan oleh nilai dalam tatasusunan. Jika parameter ini ialah nombor negatif, ini bermakna untuk mula mengalih keluar dari hujung tatasusunan pada offset yang ditentukan oleh nilai. Jika ia 0
, ia akan dialih keluar bermula dari elemen pertama.
Jika parameter length
ialah nombor positif, ini bermakna bilangan elemen untuk dialih keluar. Jika nombor negatif, ia bermaksud untuk mengalih keluar semua elemen dari start
ke undur hingga akhir daripada tatasusunan length
. Jika nilai parameter ini tidak ditetapkan, ini bermakna untuk mengalih keluar semua elemen dari kedudukan yang ditetapkan oleh parameter mula hingga akhir tatasusunan.
Hasil pulangan bagi fungsi ini ialah tatasusunan yang terdiri daripada elemen yang diekstrak.
Mari kita lihat aplikasi fungsi array_splice
melalui contoh seperti berikut:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"purple","b"=>"orange"); array_splice($a1,0,2,$a2); print_r($a1); ?>
Hasil keluaran:
Dalam contoh di atas, elemen tatasusunan diganti melalui fungsi array_splice
Mari kita lihat dua kaedah lain.
<strong><span style="font-size: 20px;">array_replace</span></strong>
array_replace
array_replace
array_replace
array_replace(array1,array2,array3...)menggantikan nilai tatasusunan pertama dengan nilai tatasusunan berikut Format sintaks asas fungsi
adalah seperti berikut:
Apa yang perlu diberi perhatian ialah: NULL
.
<?php $a1=array("a"=>"red","b"=>"green"); $a2=array("a"=>"orange","burgundy"); print_r(array_replace($a1,$a2)); ?>
Mari kita ambil contoh untuk melihat cara menggunakan fungsi array_replace Contohnya adalah seperti berikut:
Hasil keluaran:
Dalam contoh di atas, nama kunci bukan sahaja wujud dalam tatasusunan pertama, tetapi juga dalam tatasusunan kedua Pada masa ini, nilai dalam tatasusunan pertama akan digantikan dengan nilai dalam tatasusunan kedua Jika nama kunci dalam tatasusunan adalah berasingan, dan tiada nama kunci sedemikian dalam tatasusunan lain Pada masa ini, nama kunci dan nilai akan kekal tidak berubah.
<?php $a1=array("a"=>"red","green"); $a2=array("a"=>"orange","b"=>"burgundy"); print_r(array_replace($a1,$a2)); ?>Ini ialah kes di mana kunci hanya wujud dalam tatasusunan pertama Mari kita lihat kunci yang hanya wujud dalam tatasusunan kedua atau seterusnya
Hasil keluaran:
Seperti yang dapat dilihat daripada contoh di atas, apabila kunci tidak wujud dalam tatasusunan pertama, ia hanya wujud Apabila diletakkan dalam tatasusunan kedua, nama kunci ini dan nilai ini akan dibuat semula dalam tatasusunan pertama Contoh di atas ialah dua set tatasusunan Mari kita lihat tiga set tatasusunan,
Contohnya adalah seperti berikut. :
<?php $a1=array("red","green"); $a2=array("blue","yellow"); $a3=array("orange","burgundy"); print_r(array_replace($a1,$a2,$a3)); ?>
Hasil keluaran:
上述示例中,出现了三个数组,这时候需要注意的是,后面数组的值会覆盖前面数组的值。
这便是array_replace
函数的基本用法,下面我们继续来看array_replace_recursive
函数的用法。
array_replace_recursive
函数
在PHP中可以通过array_replace_recursive
函数来递归的使用第二个数组的值来替换第二个数组的值。
array_replace_recursive
函数的基本语法格式如下:
array_replace_recursive(array1,array2,array3...)
其中需要注意的是:
参数array1表示的是我们需要被替换的数组,参数array2表示的是指定要替换array1的值的数组,array3表示的是指定多个需要替换的数组,后面的数值会覆盖前面的数值。返回的结果是被替换的数组,如果函数其中有错误的话,返回的结果就是NULL
。
如果数组中没有使用指定的键来规定数组中的元素,那么array_replace_recursive
函数就可以看成是array_replace
函数。
如果一个键在第一个数组和第二个数组中都存在,这时候第二个数组的值会替换第一个数组的值,如果一个键只存在于第一个数组,那么这个值会保存,如果一个键只存在于第二个数组,这时候会在第一个数组创建一个一样的元素。
下面我们通过示例来看一下array_replace_recursive
的使用,示例如下:
<?php $a1=array("a"=>array("red"),"b"=>array("green","blue")); $a2=array("a"=>array("yellow"),"b"=>array("black")); $a3=array("a"=>array("orange"),"b"=>array("burgundy")); print_r(array_replace_recursive($a1,$a2,$a3)); ?>
输出结果:
上述示例中,多个数组后面的数值会覆盖前面的数值。
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
Atas ialah kandungan terperinci Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!