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 => '2222211', 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 => '2222211', 1 => '222222222', 2 => '33333333333', 3 => '444444444', ) array ( 0 => '33333333333', 1 => '444444444', 2 => '2222211', 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 => '2222211', 2 => '222222222', 4 => '33333333333', ) array ( 4 => '33333333333', ) (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|