欢迎访问宙启技术站
智能推送

PHP函数:array_merge()的使用方法详解

发布时间:2023-06-06 10:45:05

PHP函数array_merge()用于将两个或更多数组合并为一个数组。它能够将一个或多个数组的元素添加到另一个数组中,可以同时合并多个数组,合并后的数组会包含所有输入数组中的元素。如果输入的数组具有相同的键名,则后面的键值将覆盖前面的键值。

语法:array_merge ( array $array1 [, array $... ] ) : array

参数:

array1:必需,合并后数组的 个数组。

...:可选参数,需要合并的其他数组。

返回值:返回合并后的数组,如果输入数组中有相同的字符串键名,则新值将覆盖前面的值。

下面是array_merge()函数的使用方法举例:

实例1:

<?php

  $arr1 = array('a', 'b', 'c');

  $arr2 = array('d', 'e', 'f');

  $new_arr = array_merge($arr1, $arr2);

  print_r($new_arr);

?>

运行结果:

Array

(

    [0] => a

    [1] => b

    [2] => c

    [3] => d

    [4] => e

    [5] => f

)

解释:合并了两个数组$arr1和$arr2。新数组$new_arr包含所有元素。注意,新数组的键是连续的,而不是原数组中的键。键名会被重新索引。

实例2:

<?php

  $arr1 = array('a' => 1, 'b' => 2, 'c' => 3);

  $arr2 = array('d' => 4, 'c' => 5, 'f' => 6);

  $new_arr = array_merge($arr1, $arr2);

  print_r($new_arr);

?>

运行结果:

Array

(

    [a] => 1

    [b] => 2

    [c] => 5

    [d] => 4

    [f] => 6

)

解释:$arr1和$arr2的键名都是字符串。$arr2具有与$arr1相同的键名'c'。因此,在合并后,$arr2的元素将覆盖$arr1中具有相同键名的元素。

实例3:

<?php

  $arr1 = array('a' => 1, 'b' => 2, 'c' => 3);

  $arr2 = array('d' => 4, 'e' => 5, 'f' => 6);

  $arr3 = array('g' => 7, 'h' => 8, 'i' => 9);

  $new_arr = array_merge($arr1, $arr2, $arr3);

  print_r($new_arr);

?>

运行结果:

Array

(

    [a] => 1

    [b] => 2

    [c] => 3

    [d] => 4

    [e] => 5

    [f] => 6

    [g] => 7

    [h] => 8

    [i] => 9

)

解释:合并了三个数组$arr1、$arr2和$arr3。新数组$new_arr包含所有元素。注意,新数组的键是连续的,而不是原数组中的键。键名会被重新索引。

总结:array_merge()函数可以将多个数组组合成一个数组,并且不会在新数组中创建重复的键,同时新数组的键名会被重新索引。如果需要保留原始键名,请使用array_merge_recursive()函数。