Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci)

Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci)

WBOY
WBOYasal
2021-11-08 12:01:004384semak imbas

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!

Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci)

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:

Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci)

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

Fungsi

array_replacearray_replace

boleh dihantar dalam PHP Fungsi
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

Tatasusunan parameter1 mewakili tatasusunan yang perlu kita gantikan, tatasusunan parameter2 mewakili tatasusunan yang menyatakan nilai untuk menggantikan tatasusunan1, dan tatasusunan3 mewakili tatasusunan yang menentukan berbilang tatasusunan yang perlu diganti akan menimpa nilai sebelumnya. Hasil yang dikembalikan ialah tatasusunan yang digantikan Jika terdapat ralat dalam fungsi, hasil yang dikembalikan ialah

.

<?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: Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci)


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:

Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci)

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:

Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci)

上述示例中,出现了三个数组,这时候需要注意的是,后面数组的值会覆盖前面数组的值。

这便是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));
?>

输出结果:

Membawa anda untuk menguasai penggantian elemen tatasusunan PHP dengan cepat (contoh terperinci)

上述示例中,多个数组后面的数值会覆盖前面的数值。

大家如果感兴趣的话,可以点击《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!

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