array_replace_recursive() Function
array_replace_recursive()是PHP中的一个内建函数,它用以下数组的值递归替换第一个数组的值。
它根据以下规则执行替换:
- 如果第一个数组中的键存在于第二个数组中,那么与第一个数组的键对应的值将被第二个数组的值替换。
- 如果键存在于第二个数组中,但不存在于第一个数组中,那么它将在第一个数组中创建。
- 如果键只存在于第一个数组中,那么它将保持原样。
- 如果传递了几个数组进行替换,将按顺序处理它们,后面的数组将覆盖前面的值。
语法
1 | array_replace_recursive($array1, $array2, $array3...) |
参数:这个函数接受数组列表作为参数,其中第一个参数是必需的,而rest是可选的。
返回值:它返回修改后的数组,如果发生错误,则返回NULL。
例子
1 2 3 4 5 6 7 8 | Input: $array1 = array("a"=>array("red"), "b"=>array("green")); $array2 = array("a"=>array("yellow"), "b"=>array("black")); Output: Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black ) ) |
下面的progarm演示了array_replace_recursive()函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php // PHP program to illustrate array_replace_recursive() // function $array1 = array( "a" => array("red"), "b" => array("green", "blue")); $array2=array( "a" => array("yellow"), "b" => array("black")); $array3=array("a" => array("orange"), "b" => array("burgundy")); print_r(array_replace_recursive($array1, $array2, $array3)); ?> |
输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Array ( [a] => Array ( [0] => orange ) [b] => Array ( [0] => burgundy [1] => blue ) ) |
参考
http://php.net/manual/en/function.array-replace-recursive.php