PHP array_replace_recursive() 函數(shù)

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

實例

遞歸地使用第二個數(shù)組($a2)的值替換第一個數(shù)組($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() 函數(shù)遞歸地使用后面數(shù)組的值替換第一個數(shù)組的值。

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

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

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


語法

array_replace_recursive(array1,array2,array3...)

參數(shù)描述
array1必需。指定一個數(shù)組。
array2可選。指定一個要替換 array1 的值的數(shù)組。
array3,...可選。指定多個要替換 array1array2, ... 的值的數(shù)組。后面數(shù)組的值將覆蓋之前數(shù)組的值。

技術(shù)細節(jié)

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


更多實例

實例 1

多個數(shù)組:

<?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 參考手冊