array_merge_recursive()

1. 定义

同函数array_merge()一样,该函数将一个或多个数组合并为一个数组,但多了一个递归的过程。

注:

  • 递归:函数调用本身的过程。该函数将相同键名的键值对分类在一个数组,而不是选择覆盖。

2. 语法

array_merge_recursive ( array $array1 [, array $... ] ) : array

3. 参数说明

参数 可选性 数据类型 描述
$array1 必需 数组 将被合并的数组

注:该函数可接受多个值。

4. 示例

<?php

// array_merge_recursive()
// 将一个或多个数组合并为一个数组,但多了一个递归的过程

$arr1 = ['极速教程', 'https://www.jisuapi.com/', '18888888888'];
$arr2 = [
    'name'=>'极速教程',
    'host'=>'https://www.jisuapi.com/',
    'contact'=>'18888888888',
    10=>'ten'
];// 关联数组
$arr3 = [
    'name'=>'极速数据',
    'age'=>18,
    8=>'eight',
];

$arr = array_merge_recursive($arr1, $arr2, $arr3);
var_dump($arr);
/* 
array(9) {
  [0]=>
  string(12) "极速教程"
  [1]=>
  string(24) "https://www.jisuapi.com/"
  [2]=>
  string(11) "18888888888"
  ["name"]=>
  array(2) {
    [0]=>
    string(12) "极速教程"
    [1]=>
    string(12) "极速数据"
  }
  ["host"]=>
  string(24) "https://www.jisuapi.com/"
  ["contact"]=>
  string(11) "18888888888"
  [3]=>
  string(3) "ten"
  ["age"]=>
  int(18)
  [4]=>
  string(5) "eight"
}
*/

5. 延展阅读

  • array_merge():合并一个或多个数组,返回合并后的数组
  • array_replace_recursive():使用后面的参数(数组)替换前面参数(数组)里的同键名元素,但如果同键名的两个元素都是数组时,在这两个数组中也会递归地替换其值