天天看點

PHP array_replace_recursive() 函數

完整的 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,... 可選。指定多個要替換 array1 和 array2, ... 的值的數組。後面數組的值将覆寫之前數組的值。

技術細節

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

更多執行個體

執行個體 1

多個數組:

$a1=array("a"=>array("red"),"b"=>array("green","blue"));

$a3=array("a"=>array("orange"),"b"=>array("burgundy"));

print_r(array_replace_recursive($a1,$a2,$a3));

執行個體 2

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

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

print_r($result);

$result=array_replace($a1,$a2);

print_r($result);