专注于discuz,uchome,dedecms等各类PHP程序仿站(二次开发和模板制作)。

« »

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

日志信息 »

该日志于2010-12-27 11:15由 火跃 发表在PHP+mysql分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

相关日志 »

没有评论

发表评论 »