PHP常用的数组函数
array range ( mixed $low , mixed $high [, number $step ] )
創(chuàng)建一個連續(xù)的數組
?
bool shuffle ( array &$array )
對數組進行隨機排序
?
array each ( array &$array )
返回一個當前數組指針所指向的數組元素信息,該返回數組包含4個元素,其中下標為0和key的鍵的值對應指針所對應的數組元素的鍵,1和value的鍵對應的值為當前指針所指向數組元素的值,同時將數組指針向下移動一位??梢允褂胷eset()函數來使其指針重置
?
mixed current ( array &$array )
返回當前數組指針所指的元素,但并不移動數組指針。如果該數組時一個空數組或者數組指針超過的數組中的最后一個元素,返回false。(注意判斷是否為false使請小心,因為如果指針所在元素值為0或者false,也可能導致返回的結果為false,可以使用"==="來判定)。
mixed prev ( array &$array )
將數組指針向前移動一個位置,當指針無法向前移動時,該方法將返回false。
mixed next ( array &$array )
將數組指針向后移動一位,并返回其元素值。
mixed end ( array &$array )
將數組指針移動到數組中的最后一個元素,并將其元素值返回,如果數組為空,將返回false。
mixed reset ( array &$array )
重置元素指針到第一個元素位置處,如果元素為空,將返回false。
mixed key ( array &$array )
返回當前數組指針所在元素的鍵,如果為空數組或指針指向了數組最大元素后面的元素,將返回null。
bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
將數組中的元素從小到大排序(排序區(qū)分大小寫,大寫字母將排在小寫字母前面.而且該函數會將刪除原有的鍵名而不僅是重新排序)
$sort_flags 參數:
SORT_REGULAR 正常格式排序,為默認排序方式
SORT_NUMERIC 將元素按照數字進行排序
SORT_STRING 將元素按照字符串進行排序
排序成功返回true,否則返回false
bool asort ( array &array [, int sort_flags] )
對數組元素的值進行升序排序,并保持鍵的關聯。如果成功則返回 TRUE,失敗則返回 FALSE。sort_flags與sort函數相同
bool arsort ( array &array [, int sort_flags] )
對數組元素的值進行降序排序,并保持鍵的關聯。如果成功則返回 TRUE,失敗則返回 FALSE。sort_flags與sort函數相同
bool ksort ( array &array [, int sort_flags] )
按照鍵名對數組進行升序排序,并保留對應的鍵值對應。如果成功則返回 TRUE,失敗則返回 FALSE。sort_flags與sort函數相同
bool krsort ( array &array [, int sort_flags] )
按照鍵名對數組進行降序排序,并保留對應的鍵值對應。如果成功則返回 TRUE,失敗則返回 FALSE。sort_flags與sort函數相同
bool usort ( array &$array , callback $cmp_function )
對數組進行用戶自定義的函數cmp_function來進行排序。比較函數必須在第一個參數被認為小于,等于或大于第二個參數時分別返回一個小于,等于或大于零的整數。
本函數為 array 中的單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序。
bool uasort ( array &array, callback cmp_function )
bool uksort ( array &array, callback cmp_function )
array array_reverse ( array $array [, bool $preserve_keys = false ] )
對數組進行逆向排序,如果$preserve_keys為ture,則保留原來鍵名。
int array_push ( array &array, mixed var [, mixed ...] )
將一個或多個元素推送到數組末尾,數組長度也會相應進行變化。注: 如果用 array_push() 來給數組增加一個單元,還不如用 $array[] = ,因為這樣沒有調用函數的額外負擔。 該函數將返回一個添加元素后的新函數。
mixed array_pop ( array &$array )
將數組元素的最后一個元素刪除,并返回該元素,如果元素為空,則返回null。
mixed array_shift ( array &array )
將數組的第一個單元移出并作為結果返回,將 array 的長度減一并將所有其它單元向前移動一位。所有的數字鍵名將改為從零開始計數,文字鍵名將不變。如果 array 為空(或者不是數組),則返回 NULL。
int array_unshift ( array &array, mixed var [, mixed ...] )
將傳入的單元插入到數組的開頭。注意單元是作為整體被插入的,因此傳入單元將保持同樣的順序。所有的數值鍵名將修改為從零開始重新計數,所有的文字鍵名保持不變。
bool array_walk ( array &$array , callback $funcname [, mixed $userdata ] )
對數組中的每個元素調用用戶自定義函數。典型情況下 funcname 接受兩個參數。array 參數的值作為第一個,鍵名作為第二個。如果提供了可選參數 userdata,將被作為第三個參數傳遞給 callback funcname。
注: 如果 funcname 需要直接作用于數組中的值,則給 funcname 的第一個參數指定為引用。這樣任何對這些單元的改變也將會改變原始數組本身。
bool array_walk_recursive ( array &input, callback funcname [, mixed userdata] )
將用戶自定義函數 funcname 應用到 array 數組中的每個單元。本函數會遞歸到更深層的數組中去。典型情況下 funcname 接受兩個參數。input 參數的值作為第一個,鍵名作為第二個。如果提供了可選參數 userdata,將被作為第三個參數傳遞給 callback funcname。 如果成功則返回 TRUE,失敗則返回 FALSE
array array_map ( callback callback, array arr1 [, array ...] )
返回一個數組,該數組包含了 arr1 中的所有單元經過 callback 作用過之后的單元。callback 接受的參數數目應該和傳遞給 array_map() 函數的數組數目一致。
int count ( mixed var [, int mode] )或者別名sizeof()
計算數組元素個數。如果可選的 mode 參數設為 COUNT_RECURSIVE(或 1),count() 將遞歸地對數組計數。對計算多維數組的所有單元尤其有用。mode 的默認值是 0。count() 識別不了無限遞歸。
array array_count_values ( array input )
返回一個數組,該數組用 input 數組中的值作為鍵名,該值在 input 數組中出現的次數作為值。
array array_values ( array input )
返回 input 數組中所有的值并給其建立數字索引。
array array_keys ( array input [, mixed search_value [, bool strict]] )
返回 input 數組中的數字或者字符串的鍵名。
bool array_key_exists ( mixed key, array search )
array_key_exists() 在給定的 key 存在于數組中時返回 TRUE。key 可以是任何能作為數組索引的值。array_key_exists() 也可用于對象。
bool in_array ( mixed needle, array haystack [, bool strict] )
在 haystack 中搜索 needle,如果找到則返回 TRUE,否則返回 FALSE。
如果第三個參數 strict 的值為 TRUE 則 in_array() 函數還會檢查 needle 的類型是否和 haystack 中的相同。 如果 needle 是字符串,則比較是區(qū)分大小寫的。 在 PHP 版本 4.2.0 之前,needle 不允許是一個數組。
mixed array_search ( mixed needle, array haystack [, bool strict] )
在 haystack 中搜索 needle 參數并在找到的情況下返回鍵名,否則返回 FALSE。
如果可選的第三個參數 strict 為 TRUE,則 array_search() 還將在 haystack 中檢查 needle 的類型。
如果 needle 在 haystack 中出現不止一次,則返回第一個匹配的鍵。要返回所有匹配值的鍵,應該用 array_keys() 加上可選參數 search_value 來代替。
int extract ( array var_array [, int extract_type [, string prefix]] )
本函數用來將變量從數組中導入到當前的符號表中。接受結合數組 var_array 作為參數并將鍵名當作變量名,值作為變量的值。對每個鍵/值對都會在當前的符號表中建立變量,并受到 extract_type 和 prefix 參數的影響。
array compact ( mixed varname [, mixed ...] )
compact() 接受可變的參數數目。每個參數可以是一個包括變量名的字符串或者是一個包含變量名的數組,該數組中還可以包含其它單元內容為變量名的數組, compact() 可以遞歸處理。
對每個參數,compact() 在當前的符號表中查找該變量名并將它添加到輸出的數組中,變量名成為鍵名而變量的內容成為該鍵的值。簡單說,它做的事和 extract() 正好相反。返回將所有變量添加進去后的數組。
array array_chunk ( array input, int size [, bool preserve_keys] )
將一個數組分割成多個數組,其中每個數組的單元數目由 size 決定。最后一個數組的單元數目可能會少幾個。得到的數組是一個多維數組中的單元,其索引從零開始。
將可選參數 preserve_keys 設為 TRUE,可以使 PHP 保留輸入數組中原來的鍵名。如果你指定了 FALSE,那每個結果數組將用從零開始的新數字索引。默認值是 FALSE。
array array_combine ( array keys, array values )
返回一個 array,用來自 keys 數組的值作為鍵名,來自 values 數組的值作為相應的值。
如果兩個數組的單元數不同或者數組為空時返回 FALSE。、
這是將一個數組作為大數組的鍵,另外一個數組作為大數值的元素內容。
$a1=array("OS", "WebServer", "DataBase", "Language");$a2=array("Linux", "Apache", "MySQL", "PHP"); print_r(array_combine($a1, $a2));echo '<br>'; print_r(array_combine($a2, $a1));echo '<br>';?
array array_filter ( array input [, callback callback] )
array_filter() 依次將 input 數組中的每個值傳遞到 callback 函數。如果 callback 函數返回 TRUE,則 input 數組的當前值會被包含在返回的結果數組中。數組的鍵名保留不變。
這是一個篩選函數,
$arr=array(1,2,3,4,5,-6,7,7,8,8,-9,9,10,11,-12);$arr1=array_filter($arr, "myfun");//這里有兩個參數,一個數組的,一個是即將創(chuàng)建的函數function myfun($n){//函數里面 有一個參數if($n>0)//這個參數的意義是代表數組中的值return false;elsereturn true;}echo '<pre>'; print_r($arr1); echo '</pre>';?
array_merge()
將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面。返回作為結果的數組。?
如果輸入的數組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。?
如果只給了一個數組并且該數組是數字索引的,則鍵名會以連續(xù)方式重新索引。
將兩個數組結合成一個數組。
$a1=array("OS", "WebServer", "DataBase", "Language",1,3,4,5,6,78);$a2=array("Linux", "Apache", "MySQL", "PHP",5,78); $a3=array_merge($a1,$a2);print_r($a3);echo '<br>';?
轉載于:https://www.cnblogs.com/zhengweizhao/p/6413164.html
總結
以上是生活随笔為你收集整理的PHP常用的数组函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux入门(10)——Ubuntu1
- 下一篇: node-inspector使用方法