PHP合并两个数组的两种方式的异同

2015-01-24信息快讯网

对数组的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 
) 
©2014-2024 dbsqp.com