面試時你必須要記得的陣列函式都有這些

2022-10-09 02:36:07 字數 3106 閱讀 2293

一、陣列操作的基本函式

陣列的鍵名和值

陣列的內部指標

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_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); //返回交集結果陣列,鍵名也做比較

八、其他的陣列函式

面試時必須要注意的24條

面試是你整個求職過程中最重要的階段。成敗均決定於你面試時的短短一瞬間的表 現。每個人都能夠學會怎麼出色地面試,而且絕大多數的錯誤都可以預期並且避免,下 面這24條提示將給你帶來成功的契機。1 帶多幾份簡歷前往面試,沒有比當被要求提供多乙份簡歷而你卻沒有更能顯示 你缺乏準備的事了。帶多幾份簡歷,面試你...

面試時必須要注意的24條

面試是你整個求職過程中最重要的階段。成敗均決定於你面試時的短短一瞬間的表 現。每個人都能夠學會怎麼出色地面試,而且絕大多數的錯誤都可以預期並且避免,下 面這24條提示將給你帶來成功的契機。1 帶多幾份簡歷前往面試,沒有比當被要求提供多乙份簡歷而你卻沒有更能顯示 你缺乏準備的事了。帶多幾份簡歷,面試你...

面試必須要懂的函式

define stl ifdef stl include include using namespace std char strcpy char dest,const char src char strncpy char dest,const char src,int count int strc...