首頁 >後端開發 >PHP問題 >php數組替換函數有哪些

php數組替換函數有哪些

青灯夜游
青灯夜游原創
2021-06-02 18:05:452960瀏覽

php數組替換函數有:1、array_replace()函數,使用後面數組的值替換第一個數組的值;2、array_replace_recursive()函數,遞歸地使用後面數組的值替換第一個數組的值;3、array_splice()函數。

php數組替換函數有哪些

本教學操作環境: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

必要。數值。規定刪除元素的開始位置。

  • 0 = 第一個元素。
  • 如果該值設定為正數,則從陣列中該值指定的偏移量開始移除。
  • 如果該值設定為負數,則從陣列末端倒數該值指定的偏移量開始移除。
  • -2 表示從陣列的倒數第二個元素開始。
length

#可選。數值。規定被移除的元素個數,也是被傳回數組的長度。

  • 如果該值設定為正數,則移除該數量的元素。
  • 如果該值設定為負數,則移除從 start 到陣列末端倒數 length 為止中間所有的元素。
  • 如果該值未設置,則移除從 start 參數設定的位置開始直到陣列末端的所有元素。
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中文網其他相關文章!

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