array_replace()函数是PHP的内置函数,它接受用逗号(,)分隔的数组列表作为参数,并替换第一个数组中与其他数组具有相同键的值。替换按照以下规则进行:
如果第一个数组中的键在第二个数组中也存在,则第一个数组中该键的值被替换为第二个数组中该键的值。
如果第二个数组中的键在第一个数组中不存在,则会在第一个数组中创建该键,并将第二个数组中该键的值复制到第一个数组中。
如果第一个数组中的键在后续的任何数组中都不存在,则该键的值在第一个数组中保持不变。
数组按照它们传递给函数的顺序进行处理,因此如果第一个数组的键出现在多个数组中,则其值将被最后出现的数组的值所替换。
语法:
array array_replace(array1,array2, …, $arrayn)
参数:此函数接受一个数组列表作为参数。函数的第一个参数是要被替换的数组。函数的其余参数是将值复制到第一个数组的数组。
返回值:此函数返回在修改了参数中的第一个数组后形成的一个数组。
示例:
Input : $array1 = array("orange", "banana", "apple", "raspberry")
$array2 = array(0 => "pineapple", 4 => "cherry")
$array3 = array(0 => "grape")
array_replace($array1, $array2, $array3)
Output : Array
(
[0] => grape
[1] => banana
[2] => apple
[3] => raspberry
[4] => cherry
)
Input : $array1 = array("aim", "plan", "vision", "clarity")
$array2 = array("word1" => "loneliness", "word2" => "happiness")
$array3 = array(0 => "solitude")
array_replace($array1, $array2, $array3)
Output : Array
(
[0] => solitude
[1] => plan
[2] => vision
[3] => clarity
[word1] => loneliness
[word2] => happiness
)
在第一个例子中,键0同时存在于两个数组中,因此它的值被替换为最后出现的值,即grape,并且键4存在于第二个数组中,因此其值也被替换。在第二个例子中,键0存在于第三个数组中,因此它的值被替换为第一个数组。键word1和word2在第一个数组中不存在,因此它们连同其值一起添加到第一个数组中。
下面这些程序说明了PHP中的array_replace()函数:
<?php
// Array to be replaced
$array1 = array("orange", "banana", "apple",
"raspberry");
// arrays that will replace the values
// in the first array
$array2 = array(0 => "pineapple", 4 => "cherry");
$array3 = array(0 => "grape");
$resArr = array_replace($array1, $array2,
$array3);
print_r($resArr);
?>
output:
Array
(
[0] => grape
[1] => banana
[2] => apple
[3] => raspberry
[4] => cherry
)
程序2:
<?php
// Array to be replaced
$array1 = array("aim", "plan", "vision", "clarity");
// arrays that will replace the values
// in the first array
$array2 = array("word1" => "loneliness",
"word2" => "happiness");
$array3 = array(0 => "solitude");
$resArr = array_replace($array1, $array2,
$array3);
print_r($resArr);
?>
output:
Array
(
[0] => solitude
[1] => plan
[2] => vision
[3] => clarity
[word1] => loneliness
[word2] => happiness
)