PHP array_replace() 函数
PHP array_replace() 函数使用后面数组的值替换第一个数组的值
( PHP >= 5.3.0 )
函数原型
array_replace( array1,array2,array3... )
可以向函数传递一个数组,或者多个数组
如果一个键存在于第一个数组 array1 同时也存在于第二个数组 array2,第一个数组 array1 中的值将被第二个数组 array2 中的值替换
如果一个键仅存在于第一个数组 array1,它将保持不变
如果一个键存在于第二个数组 array2,但是不存在于第一个数组 array1,则会在第一个数组 array1 中创建这个元素
如果传递了多个替换数组,它们将被按顺序依次处理,后面数组的值将覆盖之前数组的值
如果需要递归地使用后面数组的值替换第一个数组的值,可以使用 array_replace_recursive()
参数
参数 | 描述 |
---|---|
array1 | 必需。指定一个数组 |
array2 | 可选。指定一个要替换 array1 的值的数组 |
array3,... | 可选。指定多个要替换 array1 和array2 , ...的值的数组 后面数组的值将覆盖之前数组的值 |
返回值
返回被替换的数组,如果发生错误则返回 NULL
范例
使用第二个数组($a2)的值替换第一个数组($a1)的值
<?php $a1 = array("red","green"); $a2 = array("blue","yellow"); print_r(array_replace($a1,$a2));
运行以上 PHP 范例,输出结果如下
Array ( [0] => blue [1] => yellow )
范例 2
如果一个键存在于第一个数组 array1 同时也存在于第二个数组 array2,第一个数组 array1 中的值将被第二个数组 array2 中的值替换
如果一个键仅存在于第一个数组 array1,它将保持不变
<?php $a1 = array("a"=>"red","b"=>"green"); $a2 = array("a"=>"orange","burgundy"); print_r(array_replace($a1,$a2));
运行以上 PHP 范例,输出结果如下
Array ( [a] => orange [b] => green [0] => burgundy )
范例 3
如果一个键存在于第二个数组 array2,但是不存在于第一个数组 array1,则会在第一个数组 array1 中创建这个元素
<?php $a1 = array("a"=>"red","green"); $a2 = array("a"=>"orange","b"=>"burgundy"); print_r(array_replace($a1,$a2));
运行以上 PHP 范例,输出结果如下
Array ( [a] => orange [0] => green [b] => burgundy )
范例 4
使用三个数组 - 最后一个数组($a3)将覆盖之前数组($a1 和 $a2)
<?php $a1 = array("red","green"); $a2 = array("blue","yellow"); $a3 = array("orange","burgundy"); print_r(array_replace($a1,$a2,$a3));
运行以上 PHP 范例,输出结果如下
Array ( [0] => orange [1] => burgundy )
范例 4
使用数值键
如果一个键存在于第二个数组 array2,但是不存在于第一个数组 array1,则会在第一个数组 array1 中创建这个元素
<?php $a1 = array("red","green","blue","yellow"); $a2 = array(0=>"orange",3=>"burgundy"); print_r(array_replace($a1,$a2));
运行以上 PHP 范例,输出结果如下
Array ( [0] => orange [1] => green [2] => blue [3] => burgundy )