例
替換與來自第二陣列遞歸值的第一陣列的值:
<?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()函數從遞歸以下陣列替換的值在第一數組的值。
Tip:您可以在一個陣列分配給功能,或者像你一樣多。
如果在array1的關鍵在數組2存在,在array1值將由數組2的值來代替。 如果密鑰只有在陣列1存在,它會保持原樣。 如果鍵數組2,而不是在陣列1存在,它會在陣列1被創建。 如果使用多個陣列,從後來的陣列值將覆蓋以前的。
注意:如果你不指定為每個陣列的一個關鍵,這個函數的行為完全一樣array_replace()函數。
句法
array_replace_recursive( array1,array2,array3... )
參數 | 描述 |
---|---|
array1 | 需要。 指定的數組 |
array2 | 可選的。 指定了一個陣列,其將取代ARRAY1的值 |
array3,... | 可選的。 指定更多陣列來代替數組1和數組2等的從後列的值將覆蓋原有的值。 |
技術細節
返回值: | 如果發生錯誤,則返回的替換陣列,或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陣列參考