首页 > php数组 > PHP中array_merge合并两个数组的程序

PHP中array_merge合并两个数组的程序

合并数据在php中我们利用array_merge()函数来实现,array_merge() 函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引.

实例代码如下:

<?php
echo "\r\n第一种情况\r\n";
$a=array(1,2,3,4,5,6);  
$b=array(7,8,9);  
$c = array_merge($a, $b);
print_r($c);
$c = $a + $b;
print_r($c);
$c = $b + $a;
print_r($c);
echo "\r\n第二种情况\r\n";
$a=array('a','b','c','d','e','f');  
$b=array('a','x','y');
$c = array_merge($a, $b);
print_r($c);
$c = $a + $b;
print_r($c);
$c = $b + $a;
print_r($c);
echo "\r\n第三种情况\r\n";
$a = array(
    1 => 'a',
    2 => 'b',
    3 => 'c',
    4 => 'd',
    5 => 'e',
    6 => 'f'
);
$b = array(
    1 => 'a',
    7 => 'x',
    8 => 'y'
);
$c = array_merge($a, $b);
print_r($c);
$c = $a + $b;
print_r($c);
$c = $b + $a;
print_r($c);
?>

结果如下: 

第一种情况  

Array  
(  
    [0] => 1  
    [1] => 2  
    [2] => 3  
    [3] => 4  
    [4] => 5  
    [5] => 6  
    [6] => 7  
    [7] => 8  
    [8] => 9  
)  
Array  
(  
    [0] => 1  
    [1] => 2  
    [2] => 3  
    [3] => 4  
    [4] => 5  
    [5] => 6  
)  
Array  
(  
    [0] => 7  
    [1] => 8  
    [2] => 9  
    [3] => 4  
    [4] => 5  
    [5] => 6  
)

第二种情况  

Array  
(  
    [0] => a  
    [1] => b  
    [2] => c  
    [3] => d  
    [4] => e  
    [5] => f  
    [6] => a  
    [7] => x  
    [8] => y  
)  
Array  
(  
    [0] => a  
    [1] => b  
    [2] => c  
    [3] => d  
    [4] => e  
    [5] => f  
)  
Array  
(  
    [0] => a  
    [1] => x  
    [2] => y  
    [3] => d  
    [4] => e  
    [5] => f  
)

第三种情况  

Array  
(  
    [0] => a  
    [1] => b  
    [2] => c  
    [3] => d  
    [4] => e  
    [5] => f  
    [6] => a  
    [7] => x  
    [8] => y  
)  
Array  
(  
    [1] => a  
    [2] => b  
    [3] => c  
    [4] => d  
    [5] => e  
    [6] => f  
    [7] => x  
    [8] => y  
)  
Array  
(  
    [1] => a  
    [7] => x  
    [8] => y  
    [2] => b  
    [3] => c  
    [4] => d  
    [5] => e  
    [6] => f  
)

1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值"抛弃"掉(不是覆盖)

2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值"抛弃"掉,但array_merge()此时会覆盖掉前面相同键名的值

注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引


文章网址:http://www.phprm.com/shuzu/fs2154.html

随意转载^^但请附上教程地址。

标签:array_merge

相关文章

发表留言