Latest web development tutorials

PHP array_replace_recursive() 函數

PHP Array 參考手冊 完整的PHP Array參考手冊

實例

遞歸地使用第二個數組($a2)的值替換第一個數組($a1)的值:

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
print_r(array_replace_recursive($a1,$a2));
?>

運行實例»

定義和用法

array_replace_recursive() 函數遞歸地使用後面數組的值替換第一個數組的值。

提示:您可以向函數傳遞一個數組,或者多個數組。

如果一個鍵存在於第一個數組array1 同時也存在於第二個數組array2,第一個數組array1 中的值將被第二個數組array2 中的值替換。 如果一個鍵僅存在於第一個數組array1,它將保持不變。 如果一個鍵存在於第二個數組array2,但是不存在於第一個數組array1,則會在第一個數組array1 中創建這個元素。 如果傳遞了多個替換數組,它們將被按順序依次處理,後面數組的值將覆蓋之前數組的值。

註釋:如果沒有為每個數組指定一個鍵,該函數的行為將等同於array_replace()函數。


語法

array_replace_recursive( array1,array2,array3... )

参数 描述
array1 必需。指定一个数组。
array2 可选。指定一个要替换 array1 的值的数组。
array3,... 可选。指定多个要替换 array1array2, ... 的值的数组。后面数组的值将覆盖之前数组的值。

技術細節

返回值: 返回被替換的數組,如果發生錯誤則返回NULL。
PHP 版本: 5.3.0+


更多實例

實例1

多個數組:

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"));
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$a3=array("a"=>array("orange"),"b"=>array("burgundy"));
print_r(array_replace_recursive($a1,$a2,$a3));
?>

運行實例»

實例2

array_replace() 與array_replace_recursive() 之間的不同:

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));

$result=array_replace_recursive($a1,$a2);
print_r($result);

$result=array_replace($a1,$a2);
print_r($result);
?>

運行實例»

PHP Array 參考手冊 完整的PHP Array參考手冊