首頁  >  文章  >  後端開發  >  php數組修改函數有哪些?

php數組修改函數有哪些?

coldplay.xixi
coldplay.xixi原創
2020-07-23 13:54:252344瀏覽

php數組修改函數有:1、【array_change_key_case】將數組中的所有鍵名修改為全大寫或小寫;2、【array_fill_keys】使用指定的鍵和值填充數組;3、【array_fill】用給定的值填滿數組。

php數組修改函數有哪些?

php陣列修改函數有:

1、array_change_key_case :將陣列中的所有鍵名修改為全大寫或小寫。接受兩個參數,第一個為要修改的數組,第二個為可選的大小寫轉換標識,表示將鍵名修改為大寫或小寫,預設為CASE_LOWER。如果傳入的不是數組會回傳false,並產生一個警告。

2、array_fill_keys:使用指定的鍵和值填入數組,接受兩個參數,第一個為指定的鍵數組,數組的值為鍵名,第二個參數為用於填入數組的值。

3、array_fill:用給定的值填滿數組,接受三個參數,第一個為正整數,標識填滿的起始索引值,如果是負數,則傳回的數組第一個索引為該負數,後面的索引從0開始,第二個為整數,表示填充的數量,必須大於等於0,否則會產生警告。第三個參數為用於填入數組的值。

4、array_flip:交換數組中的鍵和值,數組中的值如果不是作為合法的鍵名,將會產生警告,並且有問題的鍵值對不會出現在結果中。如果同一個值出現多次,則最後一次出現的鍵名會作為交換後的值,之前的會被丟棄。如果交換失敗回傳null。

5、array_pad:以指定長度將一個值填入數組。接受三個參數,第一個為要填滿的數組,第二個為填充後的數組大小,第三個為用於填充的值。如果指定的數組大小為整數,則從右側填充,如果為負數則從左側填充,如果小於原始數組的大小則不進行填充,最多可一次填充1048576個值。傳回的是第一個陣列的拷貝。

6、array_replace:使用傳遞的數組替換第一個數組的元素,接受任意數量的數組,如果一個鍵存在於第一個數組同時也存在第二個數組中,則將第一個陣列的值替換為第二個陣列中的值。如果第一個數組中不存在,但在第二個數組中存在,則會在第一個數組中創建這個元素,如果只存在於第一個數組中則保持不變,如果傳遞了多個數組,則會依序依序處理,後面的陣列會覆蓋前面相同鍵的值。如果發生錯誤,傳回null,否則傳回替換後的陣列。 array_replace是非遞歸的,不會判斷第一個陣列中的值的類型而直接進行覆寫。

7、array_replace_recursive:與array_replace唯一的區別是,array_replace_recursive是遞歸的,即會判斷第一個數組中的值的類型,如果是數組,會遞歸的替換這個數組中的值。

8、array_splice:去掉數組中的某一部分並用其它值取代,接受四個參數,第一個為要進行操作的數組引用,第二個為起始位置,第三個為可選的長度,預設為數組的長度。第四個為可選的替代單元,預設為空數組。進行操作的陣列中的鍵名不會保留。如果起始位置為正數則從前往後計算,從0開始,如果為負數則從後往前計算,從-1開始。如果不傳入長度,則預設為從起始位置到陣列結尾的所有單元,如果傳入長度為正數,則從起始位置移除指定長度的單元,如果為負數則從起始位置向前移除指定長度的單元,若為0則不移除單元。如果替代單元為數組,則以數組中單元取代移除的單元,如果不移除任何單元,則會在指定的起始位置插入替代單元。如果替代單元只有一個單元,則不需要加上array(),除非該單元本身是陣列、物件或null,傳回值為包含已刪除單元的陣列。

9、array_unique:移除數組中重複的值,接受兩個參數,第一個為要進行去重的數組,第二個為排序順序標識,PHP5. 2.9預設為SORT_REGULAR,其他版本預設為SORT_STRING。先將陣列中的元素值排序,然後每個值只保留遇到的第一個鍵名,忽略後面的鍵名,並不是排序前同一個值的第一個出現的鍵名一定會被保留。返回去重後的數組,保留鍵名。

10、array_unshift:在陣列開頭插入一個或多個單元,單元是做為整體插入的,傳入單元將保持同樣的順序,插入後,所有的數值鍵名將從零開始重新計算,字串鍵名保持不變。傳回插入後的數組單元數量。

11、array_shift:將數組開頭的單元移出數組,將所有的單元向前移動一位,所有的數字鍵名從零開始計數,文字鍵名不變,數組長度減1。使用此函數後會重設數組內部的指標。如果傳入非數組的值則會產生警告。傳入空數組或非法值則傳回null。

12、array_pop:彈出並回傳數組最後一個單元,數組長度減1,該函數只接受數組的引用,不能直接傳入數組。如果是空數組,則傳回null。如果傳入非數組的值則會產生警告。使用此函數後會重設數組內部的指標。

13、array_push:將一個或多個單元壓入數組末尾,並增加相應的長度,該函數只接受數組的引用,不能直接傳入數組。如果傳入非數組的值則會產生警告。使用此函數後不會重置數組內部的指標。傳回值為插入後數組的單元總數。

"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e","f"=>"f");
$ar2=array("a","b","d","f","g","h");
$ar3=array("a","c","g");
$ar4=array("a"=>"a","b"=>array("a"=>"a","b"=>"b","c"=>"c"),"c"=>"c");
$ar5=array("a"=>"1","b"=>array("c"=>"c","d"=>"d","b"=>"b","e"=>"e"),"c"=>array("c","b","a"));
$ar6=array(1,2,3,4,5,6);
$ar7=array("a","b","d","f","g","h","a","c","g","e");
$ar8=array(1=>"a","02"=>"b",3=>"e",4=>"04");
$ar9=array();
 
var_dump(array_change_key_case($ar1,CASE_UPPER));
var_dump(array_fill_keys($ar6,"a"));
var_dump(array_fill_keys($ar6,$ar3));
var_dump(array_fill(-2,3,"a"));
var_dump(array_fill(3,0,"a"));
var_dump(array_flip($ar2));
var_dump(array_pad($ar2,"-10","z"));
var_dump(array_replace($ar4,$ar5));
var_dump(array_replace_recursive($ar4,$ar5));
var_dump(array_splice($ar3,1,1,array("x","y","z")));
var_dump($ar3);
var_dump(array_unique($ar7));
var_dump(array_unshift($ar8,"e","f"));
var_dump($ar8);
next($ar8);
var_dump(key($ar8));
var_dump(array_shift($ar8));
var_dump($ar8);
var_dump(key($ar8));
var_dump(array_shift($ar9));
next($ar8);
var_dump(key($ar8));
var_dump(array_pop($ar1));
var_dump(key($ar8));
var_dump($ar8);
var_dump(array_pop($ar9));
next($ar8);
var_dump(key($ar8));
$ar1[]="e";
var_dump($ar8);
var_dump(key($ar8));
var_dump(array_push($ar8,"f","g"));
var_dump(key($ar8));
 
?>

相關學習推薦:PHP程式設計從入門到精通

以上是php數組修改函數有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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