国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP中合并數組的常見方法分享

瀏覽:94日期:2022-06-06 14:42:00

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

第一種,使用“+”運算符

使用加號“+”運算符,可以直接將兩個數組合并成一個數組。

示例代碼:

<?php
$a = [1,2,3,"a"=>"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,"a"=>"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,"a"=>"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 = ["a","b","c"];
$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
主站蜘蛛池模板: 亚洲精品国产精品国自产网站 | 香蕉网影院在线观看免费 | 亚洲在线成人 | 国产精品拍拍拍福利在线观看 | 中日韩美中文字幕 | 国产成人免费网站 | 国内精品1区1区3区4区 | 国产精品国产三级国产专 | 国产真人毛片一级视频 | 操操操网 | 国产精品亚洲二区 | 99热免费在线| 欧美一级毛片欧美一级无片 | 亚洲欧洲日产国码二区首页 | 中国黄色网址大全 | 久久亚洲人成国产精品 | 加勒比heyzo 加勒比久久综合 | 国产成人精品男人的天堂网站 | 欧美另类videosgrstv变态 欧美另类高清xxxxx | 精品一区二区三区四区在线 | 扒开两腿猛进入爽爽视频 | 一区二区三区 亚洲区 | 亚洲在线视频免费 | 国产免费久久精品99re丫y | 日韩精品一区二区三区视频网 | 欧美不卡一区二区三区 | 精品成人在线观看 | 日本高清无吗免费播放 | 国产精品成人在线播放 | 久久夜色精品国产 | 国产成人精品在线观看 | 国产综合精品一区二区 | 免费看成人频视在线视频 | 国产91专区 | 成人毛片免费网站 | 国产精品成人aaaaa网站 | 国产成人一区二区视频在线观看 | 日本三级香港三级三级人 | 广东毛片 | 久久综合色88 | 欧美一区二区三区男人的天堂 |