PHP array_merge 函数

一、函数功能:
  合并一个或多个数组。 所有的数字键名会重新从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
)

0 个评论

要回复文章请先登录注册