Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa

Bagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa

WBOY
Lepaskan: 2023-03-13 18:06:02
asal
4180 orang telah melayarinya

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!

Bagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa

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...)
Salin selepas log masuk

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));
?>
Salin selepas log masuk

Hasil keluaran:

.

Bagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa

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));
?>
Salin selepas log masuk
Dalam contoh di atas, dalam tatasusunan yang perlu "dicantumkan", nama kunci tatasusunan adalah semua integer dan tidak diindeks daripada 0. Apabila digabungkan melalui fungsi array_merge, nama kunci bagi tukar tatasusunan untuk bermula dari 0. indeks.


array_merge_recursiveBagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa

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:

Apabila dua tatasusunan yang perlu digabungkan mempunyai elemen dengan nama kunci yang sama, kedua-dua fungsi tersebut mengendalikannya secara berbeza 🎜>kuncinya selepas fungsi digabungkan Elemen dengan nama akhir akan menimpa elemen lain walau bagaimanapun, fungsi

boleh mengulangi elemen dengan nama kunci yang sama ke dalam tatasusunan tanpa menimpanya. array_merge_recursive

Mari kita lihat contoh di atas contohnya seperti berikut:

array_mergearray_merge_recursiveHasil keluaran:

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2));
echo  &#39;<br/>&#39;;
print_r(array_merge_recursive($a1,$a2));
?>
Salin selepas log masuk


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

, elemen yang sama nama kunci akan ditulis Ganti, nama kunci elemen yang digabungkan melalui fungsi

tidak akan ditimpa. Bagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa

Selain itu, jika anda "menggabungkan" tatasusunan melalui fungsi array_merge_recursive, hasilnya akan diindeks semula bermula dari

sama seperti fungsi array_merge. Contoh array_mergearray_merge_recursive adalah seperti berikut:

0Hasil keluaran:

<?php
$a=array(3=>"red",4=>"green");
print_r(array_merge_recursive($a));
?>
Salin selepas log masuk


Anda boleh melihat fungsi

daripada contoh di atas Perbezaan utama daripada fungsi

ialah sama ada elemen dengan nama kunci yang sama akan ditimpa. Bagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa

<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);
?>
Salin selepas log masuk

输出结果:

Bagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa

由上述示例能够看出,通过+的方式来合并数组,和通过array_merge函数的方式来合并数组的区别就在于:

  • array_merge函数遇到相同键名的不同数组元素,合并之后会被覆盖掉,被覆盖的是前面的数组元素;

  • +遇到相同键名的不同数组元素进行合并,合并之后也会被覆盖掉,但是覆盖的元素是后面的数组元素。

<strong><span style="font-size: 20px;">array_combine</span></strong>函数-一组做键名一组做键值

在PHP中还有一个函数是array_combine函数,它能够将两个数组进行合并,并且其中一个数组的元素是合并后新数组的键名,另一个数组中的元素是合并后新数组的键值。

array_combine函数的基本语法格式如下:

array_combine(keys,values);
Salin selepas log masuk

其中需要注意的是,参数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);
?>
Salin selepas log masuk

输出结果:

Bagaimana untuk menggabungkan tatasusunan dalam operasi tatasusunan PHP? Ringkasan kaedah biasa

由此我们便通过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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan