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

PHP函数使用指南:快速掌握array_merge()函数

发布时间:2023-06-10 02:02:38

在PHP编程中,常常需要对多个数组进行操作,例如合并、排序等,为了方便操作,PHP内置了很多数组相关的函数,其中一种非常常用的函数就是array_merge()。本文将重点介绍array_merge()函数的用法及注意事项,帮助初学者快速掌握该函数的使用。

1. array_merge()函数的用途

array_merge()函数用于将两个或多个数组合并成一个新数组。它可以同时合并索引数组和关联数组。合并后的数组元素追加在原有数组后面,并返回一个新数组,原数组不发生改变。

2. array_merge()函数的参数

该函数可接受两个或更多个数组作为参数,每个数组间用逗号“,”隔开。

注意:该函数不会去掉原数组重复的值,如果要去重,需要调用array_unique()函数。

3. array_merge()函数的使用示例

merge()函数示例1:合并两个索引数组

$array1 = array('a','b','c');
$array2 = array('d','e','f');
$res = array_merge($array1,$array2);
print_r($res);

输出结果:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)

merge()函数示例2:合并两个关联数组

$array1 = array('id'=>1,'name'=>'Tom','age'=>18);
$array2 = array('id'=>2,'name'=>'Jerry','score'=>90);
$res = array_merge($array1,$array2);
print_r($res);

输出结果:

Array
(
    [id] => 2
    [name] => Jerry
    [age] => 18
    [score] => 90
)

merge()函数示例3:合并多个数组

$array1 = array('a','b','c');
$array2 = array('d','e','f');
$array3 = array('g','h','i');
$res = array_merge($array1,$array2,$array3);
print_r($res);

输出结果:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
    [6] => g
    [7] => h
    [8] => i
)

4. array_merge()函数的注意事项

1)新数组的键值会重新构建

如果合并的多个数组中有相同的键值,后面的数组的键值会覆盖前面的键值。例如:

$array1 = array('id'=>1,'name'=>'Tom','age'=>18);
$array2 = array('id'=>2,'name'=>'Jerry','age'=>20);
$res = array_merge($array1,$array2);
print_r($res);

输出结果:

Array
(
    [id] => 2
    [name] => Jerry
    [age] => 20
)

2)不支持多维数组的合并

array_merge()函数是将两个或多个数组合并成一个新数组,但它不支持多维数组的合并。如果要合并多维数组,需要使用其他函数,例如array_merge_recursive()函数。

3)不支持字符串索引的重新排序

如果合并的数组中有字符串索引,它不会重新排序数组。例如:

$array1 = array('foo','bar');
$array2 = array('hello'=>'world');
$res = array_merge($array1,$array2);
print_r($res);

输出结果:

Array
(
    [0] => foo
    [1] => bar
    [hello] => world
)

由此可见,array_merge()函数虽然简单易用,但也有很多需要注意的地方。因此,在实际应用中请务必仔细阅读PHP的官方文档或者相关教程,了解函数的全面用法及注意事项,以免出现错误或不符合预期的结果。