PHP 数组函数

PHP array_merge()函数 用于合并一个或多个数组,是php中数组合并的方法之一,也是php开发中常用的数组方法。

语法

array_merge(array1,array2,array3...) 

参数

参数说明必须/可选
array1第一个数组必须
array2第二个数组可选
array3第三个数组...可选

返回值

返回合并后的新的数组

需要注意

  1. 如果相同的键名,后面数组的值会覆盖前面数组的值; 如果想让前面覆盖后面的可以使用+号合并数组。
  2. 如果传入的数组参数有一个是null,则返回null。
  3. 如果只传入一个数组,且键名是数字,则会格式化它。

例子

根据以上三点举出3个不同的例子看下效果。

1. 第一种情况的例子,后面数组的值会覆盖前面数组的值。

<?php
$color1 = array("a"=>"red","b"=>"yellow","c"=>"green");
$color2 = array("b"=>"blue","d"=>"pink");
$result1 = array_merge($color1, $color2); //后面数组的值会覆盖前面数组的值
$result2 = $color1+$color2; //+号前面覆盖后面的
var_dump($result1);
var_dump($result2);
?> 
输出
array(4) {
  ["a"]=>
  string(3) "red"
  ["b"]=>
  string(4) "blue"
  ["c"]=>
  string(5) "green"
  ["d"]=>
  string(4) "pink"
}
array(4) {
  ["a"]=>
  string(3) "red"
  ["b"]=>
  string(6) "yellow"
  ["c"]=>
  string(5) "green"
  ["d"]=>
  string(4) "pink"
}

2. 传入的数组参数有一个是null,则返回null的例子。

<?php
$color1 = array("a"=>"red","b"=>"yellow","c"=>"green");
$color2 = null;
$result=array_merge($color1, $color2);//null的例子
var_dump($result);

?> 

输出:

NULL

3. 第3种情况,单个数组格式化的例子。

<?php
$a=array(
	'2'=>'2',
	'4'=>'4',
	'6' => '6'
);
$result=array_merge($a);//它格式化了数组
var_dump($result);
?> 
输出:
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "6"
}