使用第二個數組($a2)的值來取代第一個數組($a1)的值:
<?php$a1=array("red","green");$a2=array("blue","yellow");print_r(array_replace($a1,$a2));?>array_replace() 函數使用後面陣列的值來取代第一個陣列的值。
提示:您可以向函數傳遞一個數組,或多個數組。
如果一個鍵存在於第一個陣列array1 同時也存在於第二個陣列array2,第一個陣列array1 中的值將會被第二個陣列array2 中的值取代。如果一個鍵僅存在於第一個陣列array1,它將保持不變。 (詳見下面的實例1)
如果一個鍵存在於第二個陣列array2,但不存在於第一個陣列array1,則會在第一個陣列array1 中建立這個元素。 (詳見下面的實例2)
如果傳遞了多個替換數組,它們將按順序依次處理,後面數組的值將覆蓋先前數組的值。 (詳見下面的實例3)
提示:請使用array_replace_recursive() 遞歸地使用後面陣列的值來取代第一個陣列的值。
array_replace( array1,array2,array3... )
參數 | 描述 |
---|---|
array1 | 必需。指定一個數組。 |
array2 | 可選。指定一個要替換array1的值的陣列。 |
array3,... | 可選。指定多個要替換array1和array2, ...的值的陣列。後面數組的值將覆蓋先前數組的值。 |
傳回值: | 傳回被取代的數組,如果發生錯誤則傳回NULL。 |
---|---|
PHP 版本: | 5.3.0+ |
如果一個鍵存在於第一個陣列array1 同時也存在於第二個陣列array2,第一個陣列array1 中的值將會被第二個陣列array2 中的值取代。如果一個鍵僅存在於第一個陣列array1,它將保持不變。
<?php$a1=array("a"=>"red","b"=>"green");$a2=array("a"=>"orange","burgundy");print_r(array_replace( $a1,$a2));?>如果一個鍵存在於第二個陣列array2,但不存在於第一個陣列array1,則會在第一個陣列array1 中建立這個元素。
<?php$a1=array("a"=>"red","green");$a2=array("a"=>"orange","b"=>"burgundy");print_r(array_replace( $a1,$a2));?>使用三個數組- 最後一個數組($a3)將覆蓋先前數組($a1 和$a2):
<?php$a1=array("red","green");$a2=array("blue","yellow");$a3=array("orange","burgundy");print_r(array_replace($ a1,$a2,$a3));?>使用數值鍵- 如果一個鍵存在於第二個陣列array2,但不存在於第一個陣列array1,則會在第一個陣列array1 中建立這個元素:
<?php$a1=array("red","green","blue","yellow");$a2=array(0=>"orange",3=>"burgundy");print_r(array_replace($ a1,$a2));?>