Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menggabungkan dua tatasusunan dalam php

Bagaimana untuk menggabungkan dua tatasusunan dalam php

zbt
zbtasal
2023-06-12 11:07:452264semak imbas

Cara menggabungkan dua tatasusunan dalam php+: 1. Gunakan operator "+" untuk menggabungkan terus dua tatasusunan menjadi satu tatasusunan 2. Gunakan fungsi "array_merge()" untuk menggabungkan satu atau lebih tatasusunan Bercantum ke dalam tatasusunan; 3. Gunakan fungsi "array_merge_recursive()" untuk menggabungkan satu atau lebih tatasusunan menjadi satu tatasusunan 4. Gunakan fungsi "array_combine()" untuk menggabungkan dua tatasusunan untuk mencipta tatasusunan baharu;

Bagaimana untuk menggabungkan dua tatasusunan dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi php8.1.3, komputer DELL G3.

Saya percaya bahawa dalam pembangunan PHP harian anda, anda akan sering menghadapi senario di mana anda perlu menggabungkan tatasusunan. Jadi, apakah kaedah yang boleh digunakan untuk menggabungkan tatasusunan dalam php?

Pertama, gunakan operator "+"

Gunakan operator tambah "+" untuk menggabungkan terus dua tatasusunan menjadi satu tatasusunan.

Kod sampel:

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

Hasil keluaran:

// $a
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(2) "a"
}

// $b
array(8) {
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}

// $c
array(8) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(2) "a"
  ["b"]=>
  string(2) "bb"
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}

Nota: Gunakan operator tanda tambah "+" untuk menggabungkan tatasusunan apabila kekunci dua elemen tatasusunan adalah sama , Elemen sebelumnya akan menimpa elemen berikut.

Kedua, gunakan fungsi array_merge()

Penggunaan: array_merge(array1,array2,array3...)

array_merge() fungsi Digunakan untuk menggabungkan satu atau lebih tatasusunan menjadi satu tatasusunan.

Jika dua atau lebih elemen tatasusunan mempunyai nama kunci yang sama, elemen terakhir akan menimpa elemen lain.

Kod sampel:

<?php
$a = [1,2,3,&#39;a&#39;=>'a'];
$b = ['a'=>'aa','b'=>'bb',4,5,6,7,'c'=>'cc',8];
$c = array_merge($a,$b);
$d = [];
$e = array_merge($a,$d);
$f = array_merge($d,$b);
$g = array_merge([],[]);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($e);
var_dump($f);
var_dump($g);

Hasil output:

// $a
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(1) "a"
}
// $b
array(8) {
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}
// $c
array(11) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
  [6]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [7]=>
  int(8)
}
// $e
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(1) "a"
}
// $f
array(8) {
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}
// $g
array(0) {
}

Nota: Apabila kekunci elemen bagi dua tatasusunan adalah sama, elemen kemudian akan menimpa elemen sebelumnya. Tetapi jika indeks tatasusunan ialah indeks berangka atau indeks rentetan angka, indeks berangka tatasusunan yang digabungkan akan ditetapkan semula mengikut tertib, dan elemen indeks angka pertama tatasusunan pertama akan diisi dalam urutan bermula dari 0.

Kaedah ketiga ialah menggunakan fungsi array_merge_recursive()

Penggunaan: array_merge_recursive(array1,array2,array3...)

array_merge_recursive( ) fungsi Digunakan untuk menggabungkan satu atau lebih tatasusunan menjadi satu tatasusunan.

Kod sampel:

<?php
$a = [1,2,3,&#39;a&#39;=>'a'];
$b = ['a'=>'aa','b'=>'bb',4,5,6,7,'c'=>'cc',8];
$c = array_merge_recursive($a,$b);
var_dump($a);
var_dump($b);
var_dump($c);

Hasil keluaran:

// $a
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(1) "a"
}
// $b
array(8) {
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}
// $c
array(11) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  array(2) {
    [0]=>
    string(1) "a"
    [1]=>
    string(2) "aa"
  }
  ["b"]=>
  string(2) "bb"
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
  [6]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [7]=>
  int(8)
}

Nota: Jika dua atau lebih elemen tatasusunan mempunyai kunci yang sama, array_merge_recursive() tidak akan melakukan penguncian Nama ganti, sebaliknya , berbilang nama kunci yang sama dibentuk secara rekursif menjadi tatasusunan. Jika indeks tatasusunan ialah indeks berangka atau indeks rentetan angka, indeks berangka tatasusunan yang digabungkan akan ditetapkan semula mengikut tertib, bermula dari elemen indeks angka pertama tatasusunan pertama dan mengisinya dalam urutan bermula dari 0.

Kaedah keempat ialah menggunakan fungsi array_combine()

Penggunaan: array_combine(keys, values)

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

Kod sampel:

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

Hasil output:

// $c
array(3) {
  [1]=>
  string(1) "a"
  [2]=>
  string(1) "b"
  [3]=>
  string(1) "c"
}
// $d
array(3) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
  ["c"]=>
  int(3)
}

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

Atas ialah kandungan terperinci Bagaimana 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