Dalam artikel sebelumnya "Operasi Tatasusunan PHP: Elemen Carian Memadankan dan Nama Utama dalam Tatasusunan" kami memperkenalkan secara terperinci pengetahuan berkaitan pencarian dan operasi tatasusunan dalam PHP Dalam artikel ini kami akan meneruskan Mari kita lihat beberapa operasi biasa penggabungan tatasusunan dalam PHP. Semoga ia membantu semua orang!
Dalam artikel sebelumnya kami memperkenalkan fungsi in_array
, fungsi array_search
dan fungsi array_key_exists
operasi tatasusunan dalam PHP. Semuanya boleh digunakan untuk mencari dan Untuk memadankan elemen dalam tatasusunan, kita boleh terus melihat beberapa operasi fungsi biasa yang berkaitan dengan tatasusunan dalam kerja pembangunan PHP.
Seterusnya kami akan memperkenalkan cara melengkapkan penggabungan tatasusunan dalam PHP Untuk mencapai operasi sedemikian, kita perlu menggunakan fungsi array_merge
dan fungsi array_merge_recursive
. Di bawah ini kami akan memperkenalkan kedua-dua fungsi ini secara berasingan.
array_merge
() fungsi - menimpa elemen tatasusunan sebelumnya dengan nama kunci yang sama
Dalam PHP kita boleh lulus array_merge
( ) Berfungsi untuk menggabungkan tatasusunan, iaitu, untuk menggabungkan elemen dalam berbilang tatasusunan ke dalam satu tatasusunan Format sintaks asas fungsi array_merge
adalah seperti berikut:
array_merge(array1,array2,array3...)
Apa yang perlu. yang perlu diambil perhatian ialah : Tatasusunan parameter123 ialah tatasusunan yang digunakan untuk penggabungan. Fungsi ini boleh menggabungkan berbilang tatasusunan Jika dua elemen atau berbilang elemen mempunyai nama kunci yang sama, selepas digabungkan, elemen terakhir dengan nama kuncinya akan menimpa elemen lain.
Fungsi ini juga boleh menggabungkan tatasusunan Ya, bagaimana anda katakan menggabungkan tatasusunan Apa yang saya maksudkan pada masa ini ialah jika fungsi memasukkan satu tatasusunan dan nama kunci tatasusunan ini ialah integer, Apabila "digabungkan" oleh fungsi ini, nama utama output tatasusunan baharu diindeks semula bermula dari 0
.
Seterusnya, mari kita lihat secara ringkas penggunaan fungsi array_merge
melalui contoh seperti berikut:
<?php $a1=array("a"=>"red","b"=>"green"); $a2=array("c"=>"blue","b"=>"yellow"); print_r(array_merge($a1,$a2)); ?>
Hasil keluaran:
Dalam contoh di atas, kedua-dua tatasusunan yang akan digabungkan mempunyai elemen dengan nama kunci "b". Anda boleh melihat bahawa elemen terakhir dengan nama kunci "b" ialah "kuning" dalam hasil keluaran akhir " menimpa elemen sebelumnya, jadi terdapat hanya tiga elemen dalam hasil keluaran akhir.
Mari kita lihat operasi "menggabungkan" tatasusunan.
<?php $a=array(3=>"red",4=>"green"); print_r(array_merge($a)); ?>
array_merge_recursive
Fungsi - tidak akan menimpa elemen tatasusunan dengan nama kunci yang sama<strong><span style="max-width:90%">array_merge_recursive</span></strong>
Dalam PHP, bukan sahaja fungsi array_merge boleh menggabungkan tatasusunan, tetapi apa yang anda perlu tahu ialah fungsi juga boleh menggabungkan satu atau lebih tatasusunan ke dalam satu tatasusunan . Apa yang anda perlu tahu ialah perbezaannya:
boleh mengulangi elemen dengan nama kunci yang sama ke dalam tatasusunan tanpa menimpanya. array_merge_recursive
array_merge
array_merge_recursive
Hasil keluaran:
<?php $a1=array("a"=>"red","b"=>"green"); $a2=array("c"=>"blue","b"=>"yellow"); print_r(array_merge($a1,$a2)); echo '<br/>'; print_r(array_merge_recursive($a1,$a2)); ?>
Lulus Contoh di atas boleh menunjukkan perbezaan antara dua fungsi: Perlu diingat bahawa dua set tatasusunan yang sama digabungkan melalui fungsi yang berbeza, dan hasil output adalah berbeza Apabila digabungkan melalui fungsi
tidak akan ditimpa.
Selain itu, jika anda "menggabungkan" tatasusunan melalui fungsi array_merge_recursive, hasilnya akan diindeks semula bermula dari sama seperti fungsi array_merge. Contoh array_merge
array_merge_recursive
adalah seperti berikut:
0
Hasil keluaran:
<?php $a=array(3=>"red",4=>"green"); print_r(array_merge_recursive($a)); ?>
Anda boleh melihat fungsi
ialah sama ada elemen dengan nama kunci yang sama akan ditimpa.
<strong><span style="max-width:90%">+</span></strong>
合并数组-覆盖后面相同键名的数组元素
通过+
来进行数组的合并可以说是最简单的一种数组合并方法了,让我们直接通过示例来看一下用法,示例如下:
<?php $a1=array("a"=>"red","b"=>"green"); $a2=array("c"=>"blue","b"=>"yellow"); $a3=$a1+$a2; print_r($a3); ?>
输出结果:
由上述示例能够看出,通过+的方式来合并数组,和通过array_merge函数的方式来合并数组的区别就在于:
array_merge
函数遇到相同键名的不同数组元素,合并之后会被覆盖掉,被覆盖的是前面的数组元素;
而+
遇到相同键名的不同数组元素进行合并,合并之后也会被覆盖掉,但是覆盖的元素是后面的数组元素。
<strong><span style="font-size: 20px;">array_combine</span></strong>
函数-一组做键名一组做键值
在PHP中还有一个函数是array_combine
函数,它能够将两个数组进行合并,并且其中一个数组的元素是合并后新数组的键名,另一个数组中的元素是合并后新数组的键值。
array_combine
函数的基本语法格式如下:
array_combine(keys,values);
其中需要注意的是,参数keys
表示的就是作为键名的数组,参数value
表示的就是作为键值的数组,这两个数组中的元素个数一定要相同,也就是两个数组合并之后需要每个键名都有相对应的键值。
通过array_combine
函数合并成功的话,返回的结果是合并成功后的数组,如果两个数组中的元素个数不相同那么返回的结果就是flase。
下面我们通过示例来看一下array_combine
函数的应用,示例如下:
<?php $a1=array("a"=>"red","b"=>"green"); $a2=array("c"=>"blue","b"=>"yellow"); $a3 = array_combine($a1, $a2); print_r($a3); ?>
输出结果:
由此我们便通过array_combine函数完成了两个数组的合并,并且其中一个数组作为键名,另一个数组作为键值。
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
Atas ialah kandungan terperinci Bagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!