PHP陣列常用函式總結

2022-10-07 01:12:08 字數 3224 閱讀 7404

一、陣列操作的基本函式

陣列的鍵名和值

array_values($arr); 獲得陣列的值

array_keys($arr); 獲得陣列的鍵名

array_flip($arr); 陣列中的值與鍵名互換(如果有重複前面的會被後面的覆蓋)

陣列的內部指標

current($arr); 返回陣列中的當前單元

pos($arr); 返回陣列中的當前單元

key($arr); 返回陣列中當前單元的鍵名

prev($arr); 將陣列中的內部指標倒回一位

next($arr); 將陣列中的內部指標向前移動一位

end($arr); 將陣列中的內部指標指向最後乙個單元

reset($arr; 將陣列中的內部指標指向第乙個單元

each($arr); 將返回陣列當前元素的乙個鍵名/值的構造陣列,並使陣列指標向前移動一位

list($key,$value)=each($arr); 獲得陣列當前元素的鍵名和值

陣列和變數之間的轉換

extract($arr);用於把陣列中的元素轉換成變數匯入到當前檔案中,鍵名當作變數名,值作為變數值

注:(第二個引數很重要,可以看手冊使用)使用方法 echo $a;

compact(var1,var2,var3);用給定的變數名建立乙個陣列

二、陣列的分段和填充

陣列的分段

array_slice($arr,0,3); 可以將陣列中的一段取出,此函式忽略鍵名

array_splice($arr,0,3,array("black","maroon")); 可以將陣列中的一段取出,與上個函式不同在於返回的序列從原陣列中刪除

分割多個陣列

array_chunk($arr,3,true); 可以將乙個陣列分割成多個,true為保留原陣列的鍵名

陣列的填充

array_pad($arr,5,'x'); 將乙個陣列填補到制定長度

三、陣列與棧

array_pop($arr); 將陣列棧的最後乙個元素彈出(出棧)

四、陣列與列隊

array_shift($arr);陣列中的第乙個元素移出並作為結果返回(陣列長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變)

array_unshift($arr,"a",array(1,2));在陣列的開頭插入乙個或多個元素

五、**函式

array_walk($arr,'function','words');  使用使用者函式對陣列中的每個成員進行處理(第三個引數傳遞給**函式function)

array_mpa("function",$arr1,$arr2); 可以處理多個陣列(當使用兩個或更多陣列時,他們的長度應該相同)

array_filter($arr,"function"); 使用**函式過濾陣列中的每個元素,如果**函式為true,陣列的當前元素會被包含在返回的結果陣列中,陣列的鍵名保留不變

array_reduce($arr,"function","*"); 轉化為單值函式(*為陣列的第乙個值)

六、陣列的排序

通過元素值對陣列排序

sort($arr); 由小到大的順序排序(第二個引數為按什麼方式排序)忽略鍵名的陣列排序

rsort($arr); 由大到小的順序排序(第二個引數為按什麼方式排序)忽略鍵名的陣列排序

usort($arr,"function"); 使用使用者自定義的比較函式對陣列中的值進行排序(function中有兩個引數,0表示相等,正數表示第乙個大於第二個,負數表示第乙個小於第二個)忽略鍵名的陣列排序

asort($arr); 由小到大的順序排序(第二個引數為按什麼方式排序)保留鍵名的陣列排序

arsort($arr); 由大到小的順序排序(第二個引數為按什麼方式排序)保留鍵名的陣列排序

uasort($arr,"function"); 使用使用者自定義的比較函式對陣列中的值進行排序(function中有兩個引數,0表示相等,正數表示第乙個大於第二個,負數表示第乙個小於第二個)保留鍵名的陣列排序

通過鍵名對陣列排序

ksort($arr); 按照鍵名正序排序

krsort($arr); 按照鍵名逆序排序

uksort($arr,"function"); 使用使用者自定義的比較函式對陣列中的鍵名進行排序(function中有兩個引數,0表示相等,正數表示第乙個大於第二個,負數表示第乙個小於第二個)

自然排序法排序

natsort($arr); 自然排序(忽略鍵名)

natcasesort($arr); 自然排序(忽略大小寫,忽略鍵名)

七、陣列的計算

陣列元素的求和

array_sum($arr); 對陣列內部的所有元素做求和運算

陣列的合併

array_merge($arr1,$arr2); 合併兩個或多個陣列(相同的字串鍵名,後面的覆蓋前面的,相同的數字鍵名,後面的不會做覆蓋操作,而是附加到後面)

「+」$arr1+$arr2; 對於相同的鍵名只保留後乙個

array_merge_recursive($arr1,$arr2); 遞迴合併操作,如果陣列中有相同的字串鍵名,這些值將被合併到乙個陣列中去。如果乙個值本身是乙個陣列,將按照相應的鍵名把它合併為另乙個陣列。當陣列 具有相同的陣列鍵名時,後乙個值將不會覆蓋原來的值,而是附加到後面

陣列的差集

array_diff($arr1,$arr2); 返回差集結果陣列

array_diff_assoc($arr1,$arr2,$arr3); 返回差集結果陣列,鍵名也做比較

陣列的交集

array_intersect($arr1,$arr2); 返回交集結果陣列

array_intersect_assoc($arr1,$arr2); 返回交集結果陣列,鍵名也做比較

八、其他的陣列函式

range(0,12);  建立乙個包含指定範圍單元的陣列

array_unique($arr); 移除陣列中重複的值,新的陣列中會保留原始的鍵名

array_reverse($arr,true); 返回乙個單元順序與原陣列相反的陣列,如果第二個引數為true保留原來的鍵名

//srand((float)microtime()*10000000); 隨機種子觸發器

array_rand($arr,2); 從陣列中隨機取出乙個或 多個元素

shuffle($arr); 將陣列的順序打亂

以上就是php

php陣列常用 PHP常用陣列總結

header content type text html charset utf8 1.array shift 將陣列開頭的元素移出陣列 出棧 影響原陣列 arr array 1,2,3,4,5,6,7,8,9 echo array shift arr echo array unshift arr...

PHP 常用陣列函式

array shift 刪除陣列首個元素 用法 array shift arr 引數 陣列名 array pop 刪除陣列最後乙個元素 用法 array pop arr 引數 陣列名 array unshift 將指定元素插入到陣列頭部 用法 array unshift arr.aa bb cc 引...

PHP 常用陣列函式

arr array 123hhh hahaha hello world 123 var dump arr in array 函式搜尋陣列中是否存在指定的值。echo hello world是否存在於陣列arr中 in array hello world arr echo 數字123是否存在於陣列ar...