php array群组合并
php中的群组合并,在编辑中经常会用到的,不过php中合并群组的方法有两个(也许还有):操作符“+”和函数。
下面我们来看最简单的,就是“+”:
$a=array(‘a’ => ‘aa’,'b’=>’bb’,'c’=>’cc’);
$b=array(‘a’=>’11′,2=>’22′,4=>’333′,5=>’aa’);
$c=$a+$b;
$cc=$b+$a;print_r($a);
print_r($b);print_r($c);
print_r($cc);print_r(array_merge($a,$b));
print_r(array_merge($b,$a));
输出:
Array ( [a] => aa [b] => bb [c] => cc )Array ( [a] => 11 [2] => 22 [4] => 33 [5] => aa )Array ( [a] => aa [b] => bb [c] => cc [2] => 22 [4] => 33 [5] => aa )Array ( [a] => 11 [2] => 22 [4] => 33 [5] => aa [b] => bb [c] => cc )Array ( [a] => 11 [b] => bb [c] => cc [0] => 22 [1] => 33 [2] => aa )Array ( [a] => aa [0] => 22 [1] => 33 [2] => aa [b] => bb [c] => cc )
大家应该注意到了,上面的$a[‘a’]和$b[‘a’]的键值是相同的,当用“+”时,最终取的值是最后一个的数组的值;而用array_merge函数时取的却是第一个数组的值,而且如果数组是数字索引的,则键名会以连续方式重新索引。这就是使用这两个的区别了!
下面附上array_merge函数的定义:
PHP array_merge() 函数
定义和用法
array_merge() 函数把两个或多个数组合并为一个数组。
如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。
注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。(参见例子 2)
语法
array_merge(array1,array2,array3...)参数
描述array1
必需。输入的第一个数组。array2
必需。输入的第二个数组。array3
可选。可指定的多个输入数组。例子 1
<?php $a1=array("a"=>"Horse","b"=>"Dog"); $a2=array("c"=>"Cow","b"=>"Cat"); print_r(array_merge($a1,$a2)); ?>输出:
Array ( [a] => Horse [b] => Cat [c] => Cow )例子 2
仅使用一个数组参数:
<?php $a=array(3=>"Horse",4=>"Dog"); print_r(array_merge($a)); ?>输出:
Array ( [0] => Horse [1] => Dog )
原创文章如转载,请注明:转载自火跃
本文网址:http://www.huoyue.org/php-array-merge
没有评论▼