php修改陣列元素的函數
array_change_key_case :將陣列中的所有鍵名修改為全大寫或小寫。接受兩個參數,第一個為要修改的數組,第二個為可選的大小寫轉換標識,表示將鍵名修改為大寫或小寫,預設為CASE_LOWER。如果傳入的不是數組會回傳false,並產生一個警告。
array_fill_keys:使用指定的鍵和值填入數組,接受兩個參數,第一個為指定的鍵數組,數組的值為鍵名,第二個參數為用於填充數組的值。
array_fill:用給定的值填入數組,接受三個參數,第一個為正整數,標識填入的起始索引值,如果是負數,則傳回的數組第一個索引為該負數,後面的索引從0開始,第二個為整數,表示填滿的數量,必須大於等於0,否則會產生警告。第三個參數為用於填入數組的值。
array_flip:交換數組中的鍵和值,數組中的值如果不是作為合法的鍵名,將會產生警告,並且有問題的鍵值對不會出現在結果中。如果同一個值出現多次,則最後一次出現的鍵名會作為交換後的值,之前的會被丟棄。如果交換失敗回傳null。
array_pad:以指定長度將一個值填入陣列。接受三個參數,第一個為要填滿的數組,第二個為填充後的數組大小,第三個為用於填充的值。如果指定的數組大小為整數,則從右側填充,如果為負數則從左側填充,如果小於原始數組的大小則不進行填充,最多可一次填充1048576個值。傳回的是第一個陣列的拷貝。
array_replace:使用傳遞的數組替換第一個數組的元素,接受任意數量的數組,如果一個鍵存在於第一個數組同時也存在第二個數組中,則將第一個數組的值替換為第二個數組中的值。如果第一個數組中不存在,但在第二個數組中存在,則會在第一個數組中創建這個元素,如果只存在於第一個數組中則保持不變,如果傳遞了多個數組,則會依序依序處理,後面的陣列會覆蓋前面相同鍵的值。如果發生錯誤,傳回null,否則傳回替換後的陣列。 array_replace是非遞歸的,不會判斷第一個陣列中的值的類型而直接進行覆寫。
array_replace_recursive:與array_replace唯一的差異是,array_replace_recursive是遞歸的,即會判斷第一個數組中的值的類型,如果是數組,會遞歸的替換這個數組中的值。
array_splice:去掉數組中的某一部分並用其它值取代,接受四個參數,第一個為要進行操作的數組引用,第二個為起始位置,第三個為可選的長度,預設為數組的長度。第四個為可選的替代單元,預設為空數組。進行操作的陣列中的鍵名不會保留。如果起始位置為正數則從前往後計算,從0開始,如果為負數則從後往前計算,從-1開始。如果不傳入長度,則預設為從起始位置到陣列結尾的所有單元,如果傳入長度為正數,則從起始位置移除指定長度的單元,如果為負數則從起始位置向前移除指定長度的單元,若為0則不移除單元。如果替代單元為數組,則以數組中單元取代移除的單元,如果不移除任何單元,則會在指定的起始位置插入替代單元。如果替代單元只有一個單元,則不需要加上array(),除非該單元本身是陣列、物件或null,傳回值為包含已刪除單元的陣列。
array_unique:移除數組中重複的值,接受兩個參數,第一個為要進行去重的數組,第二個為排序順序標識,PHP5.2.9預設為SORT_REGULAR,其他版本默認為SORT_STRING。先將陣列中的元素值排序,然後每個值只保留遇到的第一個鍵名,忽略後面的鍵名,並不是排序前同一個值的第一個出現的鍵名一定會被保留。返回去重後的數組,保留鍵名。
array_unshift:在數組開頭插入一個或多個單元,單元是做為整體插入的,傳入單元將保持同樣的順序,插入後,所有的數值鍵名將從零開始重新計算,字符串鍵名保持不變。傳回插入後的數組單元數量。
array_shift:將數組開頭的單元移出數組,將所有的單元向前移動一位,所有的數字鍵名從零開始計數,文字鍵名不變,數組長度減1。使用此函數後會重設數組內部的指標。如果傳入非數組的值則會產生警告。傳入空數組或非法值則傳回null。
array_pop:彈出並傳回數組最後一個單元,數組長度減1,函數只接受數組的引用,不能直接傳入數組。如果是空數組,則傳回null。如果傳入非數組的值則會產生警告。使用此函數後會重設數組內部的指標。
array_push:將一個或多個單元壓入數組末尾,並增加相應的長度,該函數只接受數組的引用,不能直接傳入數組。如果傳入非數組的值則會產生警告。使用此函數後不會重置數組內部的指標。傳回值為插入後數組的單元總數。
<?php $ar1=array("a"=>"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修改數組元素的函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!