PHP array_merge 函数
一、函数功能:
合并一个或多个数组。 所有的数字键名会重新从0开始索引;相同的非数字键名只会保留一个,最后键值会覆盖之前的键值。
array_merge()函数与array_merge_recursive()区别是,array_merge_recursive()可以递归的合并多维数组,并不覆盖相同非数字键名的键值,而是将相同非数字键名的键值放到一个子数组中。
二、函数语法:
三、函数参数:
四、返回值:
五、用法举例:
1、数字键名的索引数组合并:
数字键名的索引数组合并,键名会全部从0开始重新索引,所以即使相同的键名的键值也不会覆盖。
2、非数字键名的关联数组合并:
非数字键名的关联数组,相同键名的最后键值会覆盖之前的键值。
3、使用"+"号合并数组:
使用"+"号合并数组时,数字键名不会被重新索引。出现相同数字或非数组键名时,最先出现的键名的键值会被保留,后面的会被忽略。
合并一个或多个数组。 所有的数字键名会重新从0开始索引;相同的非数字键名只会保留一个,最后键值会覆盖之前的键值。
array_merge()函数与array_merge_recursive()区别是,array_merge_recursive()可以递归的合并多维数组,并不覆盖相同非数字键名的键值,而是将相同非数字键名的键值放到一个子数组中。
二、函数语法:
array array_merge ( $array1, $array2 [, $... ] )
三、函数参数:
参数名 | 描述 |
---|---|
$array1 | 参与合并的第一个数组; |
$array2 | 参与合并的第额二个数组; |
... | 参与合并的更多数组; |
四、返回值:
合并后的数组
五、用法举例:
1、数字键名的索引数组合并:
数字键名的索引数组合并,键名会全部从0开始重新索引,所以即使相同的键名的键值也不会覆盖。
<?php $array1 = array('red', 'blur'); $array2 = array('green', 'yellow'); print_r(array_merge($array1, $array2)); echo PHP_EOL.PHP_EOL; $array1 = array('1001'=>'aiezu', '1002'=>'web'); $array2 = array('1001'=>'爱E族'); $array3 = array('1002'=>'aiezu.com'); print_r(array_merge($array1, $array2, $array3));输出:
Array ( [0] => red [1] => blur [2] => green [3] => yellow ) Array ( [0] => aiezu [1] => web [2] => 爱E族 [3] => aiezu.com )
2、非数字键名的关联数组合并:
非数字键名的关联数组,相同键名的最后键值会覆盖之前的键值。
<?php $array1 = array('a'=>'aiezu', 'b'=>'web'); $array2 = array('a'=>'爱E族', 'c'=>'php'); print_r(array_merge($array1, $array2));输出:
Array ( [a] => 爱E族 [b] => web [c] => php )
3、使用"+"号合并数组:
使用"+"号合并数组时,数字键名不会被重新索引。出现相同数字或非数组键名时,最先出现的键名的键值会被保留,后面的会被忽略。
<?php $array1 = array(1001=>'红色', 1002=>'绿色'); $array2 = array(1001=>'蓝色', 1003=>'黑色'); $array3 = array(1003=>'白色'); print_r($array1 + $array2 + $array3); $array1 = array('a'=>'aiezu', 'b'=>'web'); $array2 = array('a'=>'爱E族', 'c'=>'php'); print_r($array1 + $array2);输出:
Array ( [1001] => 红色 [1002] => 绿色 [1003] => 黑色 ) Array ( [a] => aiezu [b] => web [c] => php )