php怎麼合併兩個陣列

zbt
發布: 2023-06-12 11:07:45
原創
2236 人瀏覽過

php 兩個數字合併的方法:1、使用「 」運算符,可以直接將兩個數字組合併成一個陣列;2、使用「array_merge()」函數,將一個或多個數字組合並成一個陣列;3、使用「array_merge_recursive()」函數,將一個或多個陣列合併成一個陣列;4、使用「array_combine()」函數,合併兩個陣列來建立一個新的陣列。

php怎麼合併兩個陣列

本教學操作環境:windows10系統、php8.1.3版本、DELL G3電腦。

相信各位phper在日常開發中,會經常遇到需要合併陣列的場景。那麼,在php中都有哪一些方法可以用來合併陣列呢。

第一種,使用「 」運算子

使用加號「 」運算符,可以直接將兩個數字組合成一個陣列。

範例程式碼:

<?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);
登入後複製

輸出結果:

// $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)
}
登入後複製

注意:使用加號「 」運算子進行數字組合併,兩個陣列元素鍵相同的情況下,前面的元素會覆蓋後面的元素。

第二種,使用array_merge()函數

用法:array_merge(array1,array2,array3...)

array_merge()函數用於將一個或多個數字組合併成一個陣列。

如果兩個或多個陣列元素有相同的鍵名,則最後的元素會覆寫其他元素。

範例程式碼:

<?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);
登入後複製

輸出結果:

// $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) {
}
登入後複製

注意:兩個陣列的元素鍵相同的情況下,後面的元素會覆寫前面的元素。但如果數組的索引是數字索引或數字字串索引,合併後的數組的數字索引會按照順序重置,從第一個數組的第一個數字索引元素從0開始依序填入。

第三種,使用array_merge_recursive()函數

用法:array_merge_recursive(array1,array2,array3...)

array_merge_recursive()函數用於將一個或多個數字組合併成一個陣列。

範例程式碼:

<?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);
登入後複製

輸出結果:

// $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)
}
登入後複製

注意:如果遇到兩個或多個陣列的元素的鍵相同,array_merge_recursive()不會進行鍵名覆蓋,而是將多個相同鍵名遞歸組成一個陣列。如果陣列的索引是數字索引或數字字串索引,合併後的陣列的數字索引會依照順序重置,從第一個陣列的第一個數字索引元素從0開始依序填入。

第四種,使用array_combine()函數

使用:array_combine(keys,values)

array_combine()函數,透過合併兩個數組來建立一個新的數組,其中一個數組元素為鍵名,另外一個數組的元素為鍵值。

範例程式碼:

<?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);
登入後複製

輸出結果: 

// $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)
}
登入後複製

注意:鍵名陣列和鍵值陣列的元素個數必須相同!

以上是php怎麼合併兩個陣列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板