PHP合并数组函数array_combine()与array_merge()用法与区别
- 2022年10月27日
- 808 次
最近记载了不少有关PHP数组的常用函数,比如删除、新增数组,统计数组元素个数,数组指针函数等PHP常用数组函数,今天主要记载的是数组合并函数array_combine()和array_merge()的用法以及区别,还是主要从两个函数语法、用法以及实例代码三大方面进行记载。
array_combine()函数
array_combine()函数是用于创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 。
1、array_combine()函数语法
array_combine(array $keys, array $values): array
2、array_combine()函数用法说明
(1)、array_combine()函数内需要传入两个数组。
(2)、两个数组变量的数组元素个数一定要相等,否则会报错。
以上截图可以很明白的看出Warning报错和array_combine(array(8),array(7))里面的报错信息,说明两个数组的元素量不相等,所以报错了。
(3)、一维数组和多维数组使用array_combine()函数合并,一样会报错。
(4)、只能合并两个函数,传入一个或者是多于两个数组的时候会报错。
(5)、合并的数组中,如果有空数组,一样会报错。
array_merge()函数
array_merge()函数可以合并一个或多个数组。
1、array_merge()函数语法:
array_merge(array ...$arrays): array
2、array_merge()函数用法说明:
(1)、array_merge()函数合并数组,会依次把所有的数组按照顺序合并在一起。
(2)、如果输入的数组中(关联数组)有相同的字符串键名,则该键名后面的值将覆盖前一个值。
(3)、如果数组(数字索引类型数组)包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
(4)、如果合并的数组中有连续的数字索引数字将会改变原有数组的键(索引下标)。
(5)、合并的数组中如果有关联数组,将原样输出关联数组,除上面(2)所述情况除外。
(6)、如果合并的数组有空数组的时候,合并后打印并不会被输出。
array_combine()与array_merge()实例代码
<?php
$num = range(1,10);
$age = ['12','18','19','22','23','24','26','35'];
$name = ['王二','张三','李四','刘五','马七','xxx','xxxx','xxxxxxx'];
$star = array('ac米兰'=>array('前锋'=>'吉鲁','中场'=>'本纳赛尔'),'国际米兰'=>array('前锋'=>'科雷亚','中场'=>'比达尔'));
$star2 = array('ac米兰'=>array('前锋'=>'伊布','中场'=>'本纳赛尔'),'国际米兰'=>array('前锋'=>'劳罗塔','中场'=>'比达尔'));
$num1 =[111,123,'12',134,1111,145];
$kong =[];
var_dump($num);
//使用array_combine()函数合并两个函数
var_dump(array_combine($age,$name));
//使用array_merge合并两个数组
echo '以下打印输出的是array_merge()函数的实例代码<br>';
var_dump(array_merge($age,$name));
//使用array_merge合并三个函数
var_dump(array_merge($num,$age,$name));
var_dump(array_merge($age,$star,$star2,$name,$num1,$kong));
?>
array_combine()与array_merge()函数区别
<?php
$num = range(1,10);
$age = ['12','18','19','22','23','24','26','35'];
$name = ['王二','张三','李四','刘五','马七','xxx','xxxx','xxxxxxx'];
$star = array('ac米兰'=>array('前锋'=>'吉鲁','中场'=>'本纳赛尔'),'国际米兰'=>array('前锋'=>'科雷亚','中场'=>'比达尔'));
$star2 = array('ac米兰'=>array('前锋'=>'伊布','中场'=>'本纳赛尔'),'国际米兰'=>array('前锋'=>'劳罗塔','中场'=>'比达尔'));
$num1 =[111,123,'12',134,1111,145];
$kong =[];
var_dump($num);
//使用array_combine()函数合并两个函数
var_dump(array_combine($age,$name));
//使用array_merge合并两个数组
echo '以下打印输出的是array_merge()函数的实例代码<br>';
var_dump(array_merge($age,$name));
//使用array_merge合并三个函数
var_dump(array_merge($num,$age,$name));
var_dump(array_merge($age,$star,$star2,$name,$num1,$kong));
?>1、array_combine()函数只能合并两个数组,而array_merge()合并数组则不会限制合并数组的个数。
2、array_combine()函数合并数组需要两个数组的元素个数相等,而array_merge()函数对数组的元素也没有限制。
3、array_combine()函数不能合并空数组,合并会报错,而array_merge()函数合并空数组并不会报错。
4、array_combine()函数是用第一个数组的值作为新数组的键,第二个数组的值最为新数组的值,而array_merge()函数则会按照传入数组的顺序,依次从0开始生成一个数组的键,如果合并的数组中有关联数组时,则不会占用数字索引型数组的键。
根据以上的总结,感觉array_merge()函数比array_combine()函数要更加强大和实用一些。
本文主要记载了PHP合并数组的两个函数array_combine()和array_merge()函数的语法、使用说明及实例代码,以及总结了array_combine()与array_merge()函数区别,后续本站将记载和分享更多PHP常用的数组函数的语法和用法。
若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。
- PHP array_key_first() 和 array_key_last():获取数组首尾键名 2026-07-02
- PHP文件的时间函数有哪些?PHP文件时间函数实例 2022-11-13
- PHP三元运算符和is…else的区别和不同之处 2022-06-20
- PHP判断数据类型的方法有哪些?PHP如何判断数据类型? 2022-06-09
- PHP面向对象接口如何使用 接口与抽象类的相同之处和区别 2022-12-11
- PHP数组常用函数之指针函数用法及实例代码 2022-10-26
