Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah kaedah untuk menggabungkan dua tatasusunan dalam PHP?

Apakah kaedah untuk menggabungkan dua tatasusunan dalam PHP?

DDD
DDDasal
2023-06-02 11:31:403545semak imbas

Kaedah untuk menggabungkan dua tatasusunan dalam PHP: 1. Cipta fail sampel PHP, takrifkan dua pembolehubah sebagai "$a" dan "$b", dan gunakan operator "+" untuk lulus "$a+$ b" formula Gabungkan nilai dua tatasusunan menjadi satu tatasusunan; 2. Gunakan sintaks "array_merge($a,$b)" untuk menggabungkan dua tatasusunan; 3. Gunakan "array_merge_recursive($a,$b)" sintaks untuk menggabungkan tatasusunan 4. , gunakan sintaks "array_combine($a,$b)" untuk menggabungkan dua tatasusunan.

Apakah kaedah untuk menggabungkan dua tatasusunan dalam PHP?

Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1.3, komputer DELL G3

Kaedah menggabungkan dua tatasusunan PHP ialah :

1 Gunakan operator tambah "+":

cantumkan terus nilai dua tatasusunan menjadi satu

<?php
$a = [1,2,3,&#39;a&#39;=>&#39;a&#39;];
$b = [&#39;a&#39;=>&#39;b&#39;,4,5,&#39;b&#39;=>&#39;c&#39;,6,7,&#39;a&#39;];
$c = $a + $b;
 
var_dump($a);
var_dump($b);
var_dump($c);
?>

Hasil keluaran:

Apakah kaedah untuk menggabungkan dua tatasusunan dalam PHP?

Gunakan "+" untuk menggabungkan tatasusunan Jika kunci adalah sama, nilai tatasusunan sebelumnya akan menimpa nilai tatasusunan kemudian.

2. Gunakan fungsi array_merge()

untuk menggabungkan kedua-dua tatasusunan secara langsung Apabila kekunci dua tatasusunan adalah sama, nilai tatasusunan yang terakhir akan menimpa nilai yang sebelumnya. tatasusunan

<?php
$a = [1,&#39;2&#39;=>2,&#39;a&#39;=>&#39;a&#39;,&#39;b&#39;=>&#39;b&#39;];
$b = [1,&#39;2&#39;=>3,&#39;a&#39;=>&#39;c&#39;,&#39;b&#39;=>&#39;d&#39;,&#39;c&#39;=>&#39;e&#39;];
$c = array_merge($a,$b);
 
var_dump($a);
var_dump($b);
var_dump($c);
?>

Hasil keluaran:

Apakah kaedah untuk menggabungkan dua tatasusunan dalam PHP?

Dapat dilihat apabila kedua-dua kekunci tatasusunan adalah sama, nilai tatasusunan yang terakhir menimpa nilai tatasusunan sebelumnya. Walau bagaimanapun, untuk indeks angka atau indeks rentetan angka, ia akan ditetapkan semula mengikut tertib (elemen indeks angka pertama tatasusunan pertama diisi dalam urutan bermula dari 0)

3 Gunakan fungsi array_merge_recursive()

Gabungkan tatasusunan, apabila menemui kunci yang sama, cantumkan nilai dalam kunci ke dalam sub-tatasusunan

<?php
$a = [1,&#39;2&#39;=>2,&#39;a&#39;=>&#39;a&#39;,&#39;b&#39;=>&#39;b&#39;];
$b = [1,&#39;2&#39;=>3,&#39;a&#39;=>&#39;a&#39;,&#39;b&#39;=>&#39;d&#39;,&#39;c&#39;=>&#39;e&#39;];
$c = array_merge_recursive($a,$b);
 
var_dump($a);
var_dump($b);
var_dump($c);
?>

Hasil keluaran:

Apakah kaedah untuk menggabungkan dua tatasusunan dalam PHP?

Gunakan kaedah "array_merge_recursive", elemen dengan kunci yang sama akan disepadukan ke dalam tatasusunan baharu, mengekalkan nama kunci tidak berubah, sebagai sub-elemen tatasusunan yang digabungkan (tatasusunan yang digabungkan oleh $a dan $b). Tetapi untuk indeks berangka atau indeks rentetan angka, ia akan ditetapkan semula mengikut tertib (elemen indeks berangka pertama tatasusunan pertama diisi secara berurutan bermula dari 0). Walaupun indeks berangka yang sepadan adalah sama, elemen dengan indeks yang sama tidak akan disepadukan ke dalam subarray.

4. Gunakan fungsi array_combine()

fungsi array_combine() mencipta tatasusunan baharu dengan menggabungkan dua tatasusunan, di mana elemen satu tatasusunan ialah nama kunci dan unsur tatasusunan yang lain ialah kunci .

Nota: Bilangan elemen dalam tatasusunan nama kunci dan tatasusunan nilai kunci mestilah sama!

<?php
$a=array("a","b","c","d");
$b=array("red","green","blue","yellow");
$c = array_combine($a,$b);
 
var_dump($a);
var_dump($b);
var_dump($c);
?>

Hasil keluaran:

Apakah kaedah untuk menggabungkan dua tatasusunan dalam PHP?

Atas ialah kandungan terperinci Apakah kaedah untuk menggabungkan dua tatasusunan dalam PHP?. 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