电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:121日期: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
主站蜘蛛池模板: 活性炭-果壳木质煤质柱状粉状蜂窝活性炭厂家价格多少钱 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 元拓建材集团官方网站| 合肥网络推广_合肥SEO网站优化-安徽沃龙First | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 成都软件开发_OA|ERP|CRM|管理系统定制开发_成都码邻蜀科技 | C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 青州开防盗门锁-配汽车芯片钥匙-保险箱钥匙-吉祥修锁店 | 合肥卓创建筑装饰,专业办公室装饰、商业空间装修与设计。 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 股票入门基础知识_股票知识_股票投资大师_格雷厄姆网 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 校服厂家,英伦校服定做工厂,园服生产定制厂商-东莞市艾咪天使校服 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 艾乐贝拉细胞研究中心 | 国家组织工程种子细胞库华南分库 | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 蒜肠网-动漫,二次元,COSPLAY,漫展以及收藏型模型,手办,玩具的新媒体.(原变形金刚变迷TF圈) | 国产液相色谱仪-超高效液相色谱仪厂家-上海伍丰科学仪器有限公司 | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 定量包装秤,吨袋包装称,伸缩溜管,全自动包装秤,码垛机器人,无锡市邦尧机械工程有限公司 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 |