📅  最后修改于: 2023-12-03 15:33:40.459000             🧑  作者: Mango
在 PHP 编程中,使用数组是非常常见的。在数组的操作中,有两个常用的函数分别是 array_merge() 和 array_combine()。它们有什么区别呢?下面我来给大家介绍一下。
array_merge() 函数将两个或多个数组合并成一个数组。
array_merge(array1,array2,array3...)
array1:必需。被合并的第一个数组。
array2:可选。被合并的第二个数组。
array3...:可选。可以合并更多的数组(参数)。
$arr1 = array('a','b','c');
$arr2 = array('d','e');
$arr3 = array('f','g','h');
$result = array_merge($arr1,$arr2,$arr3);
print_r($result);
输出结果:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
[5] => f
[6] => g
[7] => h
)
array_combine() 函数通过合并两个数组来创建一个新数组,其中一个数组为键名,另一个数组为键值。
array_combine(keys,values)
keys:必需。作为新数组键的数组。
values:必需。作为新数组值的数组。
$keys = array('a','b','c');
$values = array(1,2,3);
$result = array_combine($keys,$values);
print_r($result);
输出结果:
Array
(
[a] => 1
[b] => 2
[c] => 3
)
array_merge() 函数是将多个数组合并成一个新数组,将数组的值键重新排列。而 array_combine() 函数则是将两个数组合并成一个新数组,其中一个数组为键名,另一个数组为键值。
array_merge() 函数的返回值是所有数组合并后的一维数组,而 array_combine() 函数的返回值是经过合并后的新数组。
array_merge() 函数可以合并多个数组,但是 array_combine() 函数只能合并两个数组。
array_merge() 函数会将所有被合并的数组的值重新排列,并根据新的键重新生成一个新的数组。而 array_combine() 函数则是直接将两个数组进行“拼接”后生成一个新的数组,不涉及值的排列。
array_merge() 函数可以处理索引数组和关联数组,而 array_combine() 函数只能处理关联数组。
如果合并的数组中有相同的键名,则后面的数组会覆盖前面的键名。而 array_combine() 函数中,如果两个数组的元素不相等或为空,则会返回 false。