PHP array_replace_recursive() 函數
PHP array_replace_recursive() 函數
實例
遞歸地使用第二個數組($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));
?>
$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
多個數組:
<?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));
?>
$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);
?>
$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);
?>
運行實例 ?
