PHP 数组函数

PHP array_merge_recursive() 函数表示递归地把一个或多个数组合并为一个数组。

这个不好讲解,需要通过下面的例子来理解它的用法。

语法

array_merge_recursive(array1,array2,array3...)

参数

参数描述必须/可选
array1规定数组。必须
array2规定数组。可选
array3规定数组。可选

返回值

返回合并后的数组

注意的点

键名相同:会把该键名所对应的键值合并到一起,组成一个新的数组,看例子1。

键值相同:它不会覆盖前面的键名,而是附加到后面,看例子2。

例子

介绍一些例子了解PHP array_merge_recursive() 函数的用法。

例1

键名相同

<?php
$color1 = array("a"=>"red","b"=>"yellow","c"=>"green");
$color2 = array("a"=>"blue","d"=>"pink");
$result = array_merge_recursive($color1, $color2); //有相同的键名
var_dump($result);
?> 
输出:
array(4) {
  ["a"]=>
  array(2) {
    [0]=>
    string(3) "red"
    [1]=>
    string(4) "blue"
  }
  ["b"]=>
  string(6) "yellow"
  ["c"]=>
  string(5) "green"
  ["d"]=>
  string(4) "pink"
}

 这里把键名a对应的键值合并成一个新的数组。

例2

键名相同

<?php
$color1 = array("a"=>"red","b"=>"yellow","c"=>"green");
$color2 = array("e"=>"red","d"=>"pink");
$result = array_merge_recursive($color1, $color2); //有相同的键值 red
var_dump($result);
?> 
输出:
array(5) {
  ["a"]=>
  string(3) "red"
  ["b"]=>
  string(6) "yellow"
  ["c"]=>
  string(5) "green"
  ["e"]=>
  string(3) "red"
  ["d"]=>
  string(4) "pink"
}