李涛自留地
回到顶部
首页 > php学习 > PHP合并数组函数array_combine()与array_merge()用法与区别

PHP合并数组函数array_combine()与array_merge()用法与区别

文章目录

最近记载了不少有关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)、两个数组变量的数组元素个数一定要相等,否则会报错。

PHP合并数组函数array_combine()与array_merge()用法与区别

以上截图可以很明白的看出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()函数区别

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常用的数组函数的语法和用法。

若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。