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

PHP数组合并两种方法及区别
如果是关联数组,如下:
<div class="codetitle"><a style="CURSOR: pointer" data="62723" class="copybut" id="copybut62723" onclick="doCopy('code62723')"> 代码如下:

<div class="codebody" id="code62723">
$a = array(
'where' => 'uid=1',
'order' => 'uid',
);
$b = array(
'where' => 'uid=2',
'order' => 'uid desc',
);
1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的
<div class="codetitle"><a style="CURSOR: pointer" data="54437" class="copybut" id="copybut54437" onclick="doCopy('code54437')"> 代码如下:
<div class="codebody" id="code54437">
<?PHP
$c = array_merge($a,$b);
var_export($c);//结果与原来的$b相同
$d = array_merge($b,$a);
var_export($d);//结果与原来的$a相同

2. "+"操作符,前面的一个会覆盖后面的
<div class="codetitle"><a style="CURSOR: pointer" data="32411" class="copybut" id="copybut32411" onclick="doCopy('code32411')"> 代码如下:
<div class="codebody" id="code32411">
<?PHP
$c = $a + $b;
var_export($c);//结果与原来的$a相同
$d = $b + $a;
var_export($d);//结果与原来的$b相同
如果是数字索引数组,如下:
<div class="codetitle"><a style="CURSOR: pointer" data="71932" class="copybut" id="copybut71932" onclick="doCopy('code71932')"> 代码如下:<div class="codebody" id="code71932">
$a = array(
1 => '1111111',
2 => '222222222'
);
$b = array(
4 => '33333333333',
1 => '444444444'
);

1. array_merge. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中
<div class="codetitle"><a style="CURSOR: pointer" data="53369" class="copybut" id="copybut53369" onclick="doCopy('code53369')"> 代码如下:<div class="codebody" id="code53369">
<?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已经存在则不处理
<div class="codetitle"><a style="CURSOR: pointer" data="35616" class="copybut" id="copybut35616" onclick="doCopy('code35616')"> 代码如下:<div class="codebody" id="code35616">
<?PHP
$c = $a + $b;
var_export($c);
$d = $b + $a;
var_export($d);

输出:
array (
1 => '1111111',
2 => '222222222',
4 => '33333333333',
)
array (
4 => '33333333333',
)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...