首頁  >  文章  >  後端開發  >  php遞歸地使用後面陣列的值來取代第一個陣列的值函數array_replace_recursive()

php遞歸地使用後面陣列的值來取代第一個陣列的值函數array_replace_recursive()

黄舟
黄舟原創
2017-11-08 13:39:581459瀏覽

實例

遞迴地使用第二個陣列($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

多个数组:

<?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_replace_recursive()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn