📌  相关文章
📜  PHP中array_merge()和array_combine()函数的区别(1)

📅  最后修改于: 2023-12-03 15:33:40.459000             🧑  作者: Mango

PHP中array_merge()和array_combine()函数的区别

在 PHP 编程中,使用数组是非常常见的。在数组的操作中,有两个常用的函数分别是 array_merge() 和 array_combine()。它们有什么区别呢?下面我来给大家介绍一下。

array_merge()
函数定义

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() 函数通过合并两个数组来创建一个新数组,其中一个数组为键名,另一个数组为键值。

语法
array_combine(keys,values)
参数说明
  • keys:必需。作为新数组键的数组。

  • values:必需。作为新数组值的数组。

返回值
  • 返回合并后的数组,如果两个数组的元素不相等或为空,则返回 false。
示例
$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。