php數組替換函數有:1、array_replace()函數,使用後面數組的值替換第一個數組的值;2、array_replace_recursive()函數,遞歸地使用後面數組的值替換第一個數組的值;3、array_splice()函數。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
1、array_replace()函數
array_replace() 函數使用後面陣列的值來取代第一個陣列的值。語法如下:
array_replace(array1,array2,array3...)
如果一個鍵存在於第一個陣列 array1 同時也存在於第二個陣列 array2,第一個陣列 array1 中的值將會被第二個陣列array2 中的值替換。
如果一個鍵只存在於第一個陣列 array1,它將保持不變。
如果一個鍵存在於第二個陣列 array2,但不存在於第一個陣列 array1,則會在第一個陣列 array1 中建立這個元素。
如果傳遞了多個替換數組,它們將被按順序依次處理,後面數組的值將覆蓋先前數組的值。
範例1:如果一個鍵存在於 array1 中同時也存在於 array2 中,第一個陣列的值將會被第二個陣列中的值取代
<?php $a1=array("a"=>"red","b"=>"green"); $a2=array("a"=>"orange","burgundy"); print_r(array_replace($a1,$a2)); ?>
輸出:
Array ( [a] => orange [b] => green [0] => burgundy )
範例2:如果一個鍵只存在於第二個陣列中:
<?php $a1=array("a"=>"red","green"); $a2=array("a"=>"orange","b"=>"burgundy"); print_r(array_replace($a1,$a2)); ?>
輸出:
Array ( [a] => orange [0] => green [b] => burgundy )
2、 array_replace_recursive()函數
array_replace_recursive() 函數遞歸地使用後面陣列的值來取代第一個陣列的值。語法如下:
array_replace_recursive(array1,array2,array3...)
範例:多個陣列
<?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)); ?>
輸出:
Array ( [a] => Array ( [0] => orange ) [b] => Array ( [0] => burgundy [1] => blue ) )
說明: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); ?>
輸出:
Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black [1] => blue ) ) Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black ) )
3、array_splice()函數
array_splice() 函數從陣列中移除選定的元素,並用新元素取代它。該函數也會傳回包含被移除元素的陣列。如果函數沒有移除任何元素(length=0),則將從 start 參數的位置插入被替換陣列。
語法
array_splice(array,start,length,array)
參數 | #描述 |
---|---|
array | 必要。規定數組。 |
start |
必要。數值。規定刪除元素的開始位置。
|
length |
#可選。數值。規定被移除的元素個數,也是被傳回數組的長度。
|
array |
#可選。規定帶有要插入原始數組中元素的數組。 如果只有一個元素,則可以設定為字串,不需要設定為陣列。 |
範例:把length 參數設定為0:
<?php $a1=array("0"=>"red","1"=>"green"); $a2=array("0"=>"purple","1"=>"orange"); array_splice($a1,1,0,$a2); print_r($a1); ?>
輸出:
Array ( [0] => red [1] => purple [2] => orange [3] => green )
推薦學習:《 PHP影片教學》
以上是php數組替換函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!