如果数组1的键存在于数组2中,那么数组1的值将被数组2的值所取代。另一方面,如果一个键只存在于array1中,它将被保持原样。
PHP array_replace
PHP array_replace()是一个内置函数,用第二个数组的值替换第一个数组的值。array_replace()函数将第一个数组的值替换成第二个数组或以下数组的值。
你可以为该函数指定一个数组,也可以指定任意多的数组,这取决于你的要求。
语法
array_replace(array1,array2,array3...)
参数
array1 参数是必须的。
array2 参数是可选的,它指定了一个将替换array1的值的数组。
array3 参数是可选的,它指定了更多的数组来替换array1 和array2的值,等等。
例子
请看下面的代码例子:
<?php
// app.php
$brandsA = [
'a' => 'Louis Vuitton',
'b' => 'Hermès',
'c' => 'Gucci',
'd' => 'Prada',
'e' => 'Chanel',
'f' => 'Cartier'
];
$brandsB = [
'b' => 'Tesla',
'd' => 'Coca-cola',
'e' => 'Google',
'f' => 'Facebook'
];
$replaced = array_replace($brandsA, $brandsB);
print_r($replaced);
在代码中,我们已经定义了两个数组。现在,我们要用brandsB 替换brandsA中的一些项目。 如果品牌A的键与品牌B相匹配,它将用品牌B替换品牌A的值。请看下面的输出:
如果键存在于数组2中而不在数组1中
让我们看看键存在于array1而不在array2中的情况,并使用array_replace()函数,请看代码:
<?php
// app.php
$brandsA = [
'a' => 'Louis Vuitton',
'b' => 'Hermès',
'c' => 'Gucci',
'd' => 'Prada',
'e' => 'Chanel',
'f' => 'Cartier'
];
$brandsB = [
'x' => 'Tesla',
'y' => 'Coca-cola',
'z' => 'Google',
'w' => 'Facebook'
];
$replaced = array_replace($brandsA, $brandsB);
print_r($replaced);
在上面的代码中,brandA和brandB都有不同的键。这就是为什么当我们使用array_replace()函数时,它将从两个数组中合并输出。所以,输出结果如下:
在PHP中使用三个数组 array_replace()
如果我们使用三个数组,那么最后一个数组(a1和$a2)。
请看下面的代码:
<?php
// app.php
$brandsA = [
'a' => 'Louis Vuitton',
'b' => 'Hermès',
'c' => 'Gucci',
'd' => 'Prada',
'e' => 'Chanel',
'f' => 'Cartier'
];
$brandsB = [
'x' => 'Tesla',
'y' => 'Coca-cola',
'z' => 'Google',
'w' => 'Facebook'
];
$brandsC = [
'a' => 'Rolex',
'b' => 'Zara',
'y' => 'Pepsico',
'z' => 'Alibaba',
];
$replaced = array_replace($brandsA, $brandsB, $brandsC);
print_r($replaced);
请看下面的输出:
使用数字键
如果一个键存在于arrA中而不存在于arrB 中**。** 请看下面的代码:
<?php
// app.php
$arrA = ['disney', 'netflix', 'hulu'];
$arrB = [0 => 'sports', 1 => 'games', 2 => 'discovery'];
$replaced = array_replace($arrA, $arrB);
print_r($replaced);
请看输出:
本教程到此为止。



