PHP中数组合并的两种方法及区别介绍

Freya ·
更新时间:2024-09-21
· 529 次阅读

PHP数组合并两种方法及区别
如果是关联数组,如下:
代码如下:
$a = array(
'where' => 'uid=1',
'order' => 'uid',
);
$b = array(
'where' => 'uid=2',
'order' => 'uid desc',
);

1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的
代码如下:
<?php
$c = array_merge($a, $b);
var_export($c);//结果与原来的$b相同
$d = array_merge($b, $a);
var_export($d);//结果与原来的$a相同

2. "+"操作符,如果两个数组存在相同的key,前面的一个会覆盖后面的
代码如下:
<?php
$c = $a + $b;
var_export($c);//结果与原来的$a相同
$d = $b + $a;
var_export($d);//结果与原来的$b相同

如果是数字索引数组,如下:
代码如下:
$a = array(
1 => '1111111',
2 => '222222222'
);
$b = array(
4 => '33333333333',
1 => '444444444'
);

1. array_merge. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中
代码如下:
<?php
$c = array_merge($a, $b);
var_export($c);
$d = array_merge($b, $a);
var_export($d);

输出:
array (
0 => '1111111',
1 => '222222222',
2 => '33333333333',
3 => '444444444',
)
array (
0 => '33333333333',
1 => '444444444',
2 => '1111111',
3 => '222222222',
)
2. "+"操作符. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中,如果同样的key已经存在则不处理
代码如下:
<?php
$c = $a + $b;
var_export($c);
$d = $b + $a;
var_export($d);

输出:
array (
1 => '1111111',
2 => '222222222',
4 => '33333333333',
)
array (
4 => '33333333333',
1 => '444444444',
2 => '222222222',
) 您可能感兴趣的文章:php获取数组长度的方法(有实例)php中利用explode函数分割字符串到数组判断PHP数组是否为空的代码PHP从数组中删除元素的四种方法实例php数组添加元素方法小结PHP遍历数组的方法汇总php数组(array)输出的三种形式详解PHP遍历数组的几种方法PHP获得数组交集与差集的方法PHP中数组定义的几种方法PHP数组基本用法与知识点总结



方法 数组合并 PHP 数组

需要 登录 后方可回复, 如果你还没有账号请 注册新账号