📜  PHP | array_replace()函数(1)

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

PHP | array_replace()函数

介绍

PHP的array_replace()函数用于将一个或多个数组按照键名进行合并,如果将多个数组传递给该函数,后面的数组会覆盖掉前面的数组,重复键名的键值将被覆盖,而不存在的键名将添加到数组中。

该函数的语法如下:

array array_replace ( array $array1 , array $array2 [, array $... ] )

其中,array1表示第一个数组,array2表示第二个数组,...表示可选的多个数组,即可以传递任意个数的数组。

返回值为一个合并后的数组。

示例

下面是一个使用array_replace()函数的示例:

$array1 = array('name' => 'Tom', 'age' => 20);
$array2 = array('age' => 25, 'gender' => 'male');
$array3 = array('name' => 'Jerry', 'gender' => 'female');

$result = array_replace($array1, $array2, $array3);

print_r($result);

运行结果为:

Array
(
    [name] => Jerry
    [age] => 25
    [gender] => female
)

这里将三个数组按照键名合并,由于$array2$array3中都有agegender键名,因此它们会分别覆盖掉$array1中的对应键名,而$array3中的name键名会覆盖掉$array1中的对应键名。

如果只传递一个数组给array_replace()函数,那么返回的是该数组本身,不会有任何变动。

注意事项

需要注意的是,array_replace()函数只按照键名进行合并,而不管键值的类型是什么。如果后面的数组中存在一个键名对应的键值是NULL,那么该键名将会被覆盖掉,而不是被合并到数组中。此外,array_replace()函数只能合并一维数组,无法处理多维数组。如果需要合并多维数组,需要使用递归函数。