php数组合并的二种方法

我们首先给出两个数组


代码如下:

<?php 
 $r = array(1,2,3,4,5,6); 
 $e = array(7,8,9,10); 
?>

下面我们用array_merge和加号来何必这两数组


代码如下:

<?php 
print_r($r+e); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) </span> 
print "<br />"; 
print_r(array_merge($r,$e)); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )</span> 
?>

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。返回作为结果的数组如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉

下面我们来改变下前面给出的数组


代码如下:

<?php 
 $r = array('r'=>1,2,3,4,5,6); 
 $e = array(<span style="background-color: rgb(245, 250, 255); ">'r'=></span>7,8,9,10); 
?>

代码如下:

<?php 
print_r($r+e); // 输出Array ( [r] => 1 [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 ) 
print "<br />"; 
print_r(array_merge($r,$e)); // 输出Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 ) 
?>

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。如果非数字键名相同,则后面数组的值会覆盖前面数组的值。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉

(0)

相关推荐

  • php合并数组中相同元素的方法

    本文实例讲述了php合并数组中相同元素的方法.分享给大家供大家参考.具体如下: 关于重复数组的删除我们都介绍过N种方法了,今天这个例子有点不同就是 删除数组中相同的元素,只保留一个相同元素,具体实例代码如下: 复制代码 代码如下: <?php // 删除数组中相同元素,只保留一个相同元素 function formatArray($array) { sort($array); $tem = ""; $temarray = array(); $j = 0; for($i=0;$i&

  • PHP将二维数组某一个字段相同的数组合并起来的方法

    本文实例讲述了PHP将二维数组某一个字段相同的数组合并起来的方法.分享给大家供大家参考,具体如下: 例子: array(3) { [0]=> array(16) { ["id"]=> string(2) "42" ["uid"]=> string(2) "14" ["euid"]=> string(2) "56" ["did"]=> st

  • php数组合并array_merge()函数使用注意事项

    1.array_merge()合并 例子 $array = array('a'=>'bb'); $array2 = array('b'=>'cc'); $array3 = array_merge($array,$array2); 输出结果为 Array ( [a] => bb [b] => cc ) 上面因为都是数组就没有问题了,假如我们把$array 设置不是数组看看什么情况 $array = 1;//array('a'=>'bb'); $array2 = array('b

  • php二维数组合并及去重复的方法

    本文实例讲述了php二维数组合并及去重复的方法.分享给大家供大家参考.具体实现方法如下: $arr = array_merge($labels,$label); //合并需要合并的俩个数组 $key = id;//去重条件 $tmp_arr = array();//声明数组 foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) //搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true { unset($arr

  • php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】

    本文实例总结了php常用数组array函数.分享给大家供大家参考,具体如下: array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 案例: <?php $a = array("one","two","three"); $b = array("一","二","三"); $c = array_combine($a,$b); print_r($c

  • PHP将两个关联数组合并函数提高函数效率

    在foreach中循环查询数据代码量比较少,但是性能比较低,好点的解决办法是将id收集起来,用in一次性查询,但是这引发了数据结构不是我们用PHP自带的函数可以合并的,今天测试了一下: 使用下面的字节写的函数可以解决 从数据库中取出来的数据总是或多或少不符合我们心目中的数据结构,类似于下面的俩个数组,要形成SQL中类似于left join后两个数组合并: 复制代码 代码如下: $test1 = Array( 0 => Array( 'id' => 9478137, 'create_time'

  • php数组实现根据某个键值将相同键值合并生成新二维数组的方法

    本文实例讲述了php数组实现根据某个键值将相同键值合并生成新二维数组的方法.分享给大家供大家参考,具体如下: 源数据: $infos = array( array( 'a' => 36, 'b' => 'xa', 'c' => '2015-08-28 00:00:00', 'd' => '2015/08/438488a00b3219929282e3652061c2e3.png' ), array( 'a' => 3, 'b' => 'vd', 'c' => '20

  • PHP使用自定义方法实现数组合并示例

    本文实例讲述了PHP使用自定义方法实现数组合并.分享给大家供大家参考,具体如下: 在PHP中提供了强大的数组功能,对于数组的合并也提供了两个方法:array_merge 和 array_merge_recursive 但对于我们千变万化的业务来说这些内置的方法并不完全能满足我们的要求 如我现在就遇到了数组合并这方面的问题,要求是这样的: 有两个二维数组,这两个数组大部分的健名是相同的,但有些健名可能并不存在于另一个数组中,现在需要我做的是将第二个数组中所有健值复制到第一个数组中(条件是:两个数组

  • php通过array_merge()函数合并两个数组的方法

    本文实例讲述了php通过array_merge()函数合并两个数组的方法.分享给大家供大家参考.具体分析如下: php通过array_merge()函数合并两个数组,array_merge()是一个php函数,用于将两个或者多个数组合并,后一个数组会追加到前一个数组后面,并返回结果数组.它接受两个或两个以上的数组,并返回一个包含了所有元素的数组. $first = array("aa", "bb", "cc"); $second = array(

  • php中有关合并某一字段键值相同的数组合并的改进

    下面是实现代码: /** **关于参数的说明 **$key键值相同的键名 **$array代表原数组 **$start代表$array[0][$key] **$newkey代表相同键值相同的键名 **/ function combine_same_val($array,$start,$key,$newkey){ static $new; foreach($array as $k=>$v){ if($v[$key]==$start){ $new[$v[$newkey]][] = $v; unset

随机推荐