php两个数组融合,php合并两个数组的方式有哪些

e140fc93315ce6cb05b644b1fa52344e.png

1、arrary_merge

示例代码:$arr1 = array(1, 2, 3, 4, 5);

$arr2 = array(1, 2, 6, 7, 8, 9, 10);

$result1 = array_merge($arr1, $arr2);

$arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male");

$arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male");

$result2 = array_merge($arr3, $arr4);

echo "

";

var_dump($result1);

var_dump($result2);

运行上面的代码,输出结果如下图所示:

5ad95c72ed28d7f085f6154702c28ffd.png

普通数组合并时,会把第二个数组放到第一个数组后面,拼接后返回。

相关推荐:《PHP入门教程》

但是对于键值对的数组来说,如果有相同的键,那么第二个数组会覆盖第一个数组相同的键所对应的值。

2、通过“+”合并

示例代码:$arr1 = array(1, 2, 3, 4, 5);

$arr2 = array(1, 2, 6, 7, 8, 9, 10);

$result1 = $arr1 + $arr2;

$arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male");

$arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male", "id" => "411521");

$result2 = $arr3 + $arr4;

echo "

";

var_dump($result1);

var_dump($result2);

运行上面的代码,输出结果如下图所示:

f02f974e041e38e21df76fb874ce3ef9.png

可以看到,对于用"+"来合并两个数组而言,无论是普通数组还是键值对型数组,只要下标相同或者键相同,都是前者覆盖后者。这一点需要注意。

3、连接两个数组

array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成。

示例代码:$arr1 = array("A","B","C","D");

$arr2 = array("paul","itbsl","Golang","PHP");

$result = array_combine($arr1,$arr2);

echo '

';

var_dump($result);

运行上面的代码,输出结果如下图所示:

10d8e38435903ef1275b813a7d02b753.png

注意:如果需要合并数组成为上面的形式,那么合并的两个数组的长度必须相等,也就是count($arr1) == count($arr2),并且不能为空。

4、递归追加数组

array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组.两者之间的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式.array_merge()会覆盖前面存在的键/值对,替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。

示例代码:$arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male");

$arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male");

$result2 = array_merge_recursive($arr3, $arr4);

echo "

";

var_dump($result2);

运行上面的代码,输出结果如下图所示:

1e40ae2b2ba8a0bf91e279281a16baa7.png

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值