递归地使用第二个数组($a2)的值替换第一个数组($a1)的值:
<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),,NULL);
$a2=array("a"=>array("yellow"),"b"=>array("black"),NULL);
print_r(array_replace_recursive($a1,$a2),NULL);
?>
array_replace_recursive() 函数递归地使用后面数组的值替换第一个数组的值。
如果一个键存在于第一个数组 array1 同时也存在于第二个数组 array2,第一个数组 array1 中的值将被第二个数组 array2 中的值替换。如果一个键仅存在于第一个数组 array1,它将保持不变。如果一个键存在于第二个数组 array2,但是不存在于第一个数组 array1,则会在第一个数组 array1 中创建这个元素。如果传递了多个替换数组,它们将被按顺序依次处理,后面数组的值将覆盖之前数组的值。
array_replace_recursive(array1,array2,array3...)
参数 | 描述 |
---|---|
array1 | 必需。规定数组。 |
array2 | 可选。指定要替换 array1 的值的数组。 |
array3,... | 可选。指定多个要替换 array1 和 array2, ... 的值的数组。后面数组的值将覆盖之前数组的值。 |
返回值: | 返回被替换的数组,如果发生错误则返回 NULL。 |
PHP 版本: | 5.3.0+ |
多个数组:
<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),NULL);
$a2=array("a"=>array("yellow"),"b"=>array("black"),NULL);
$a3=array("a"=>array("orange"),"b"=>array("burgundy"),NULL);
print_r(array_replace_recursive($a1,$a2,$a3),NULL);
?>
array_replace() 与 array_replace_recursive() 的差别:
<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),,NULL);
$a2=array("a"=>array("yellow"),"b"=>array("black"),NULL);
$result=array_replace_recursive($a1,$a2,NULL);
print_r($result,NULL);
$result=array_replace($a1,$a2,NULL);
print_r($result,NULL);
?>
©2020 IT自习室京ICP备20010815号