看了這些,媽媽再也不擔心我PHP面試被陣列問得臉都綠了
一、陣列操作的基本函式
陣列的鍵名和值
-
array_values($arr); 獲得陣列的值
-
array_keys($arr); 獲得陣列的鍵名
-
array_flip($arr); 陣列中的值與鍵名互換(如果有重複前面的會被後面的覆蓋)
-
in_array(“apple”,$arr); 在陣列中檢索apple
-
array_search(“apple”,$arr); 在陣列中檢索apple ,如果存在返回鍵名
-
array_key_exists(“apple”,$arr); 檢索給定的鍵名是否存在陣列中
-
isset($arr[apple]): 檢索給定的鍵名是否存在陣列中
陣列的內部指標
-
current($arr); 返回陣列中的當前單元
-
pos($arr); 返回陣列中的當前單元
-
key($arr); 返回陣列中當前單元的鍵名
-
prev($arr); 將陣列中的內部指標倒回一位
-
next($arr); 將陣列中的內部指標向前移動一位
-
end($arr); 將陣列中的內部指標指向最後一個單元
-
reset($arr; 將陣列中的內部指標指向第一個單元
-
each($arr); 將返回陣列當前元素的一個鍵名/值的構造陣列,並使陣列指標向前移動一位
-
list( k e y , key, 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_push($arr,“apple”,“pear”); 將一個或多個元素壓入陣列棧的末尾(入棧),返回入棧元素的個數
-
array_pop($arr); 將陣列棧的最後一個元素彈出(出棧)
四、陣列與列隊
-
array_shift($arr);陣列中的第一個元素移出並作為結果返回(陣列長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變)
-
array_unshift($arr,“a”,array(1,2));在陣列的開頭插入一個或多個元素
五、回撥函式
-
array_walk($arr,‘function’,‘words’); 使用使用者函式對陣列中的每個成員進行處理(第三個引數傳遞給回撥函式function)
-
array_mpa(“function”, a r r 1 , arr1, 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( a r r 1 , arr1, arr1,arr2); 返回差集結果陣列
-
array_diff_assoc( a r r 1 , arr1, arr1,arr2,$arr3); 返回差集結果陣列,鍵名也做比較
陣列的交集
-
array_intersect( a r r 1 , arr1, arr1,arr2); 返回交集結果陣列
-
array_intersect_assoc( a r r 1 , arr1, arr1,arr2); 返回交集結果陣列,鍵名也做比較
八、其他的陣列函式
-
range(0,12); 建立一個包含指定範圍單元的陣列
-
array_unique($arr); 移除陣列中重複的值,新的陣列中會保留原始的鍵名
-
array_reverse($arr,TRUE); 返回一個單元順序與原陣列相反的陣列,如果第二個引數為TRUE保留原來的鍵名
-
//srand((float)microtime()*10000000); 隨機種子觸發器
-
array_rand($arr,2); 從陣列中隨機取出一個或 多個元素
-
shuffle($arr); 將陣列的順序打亂
點關注,不迷路
好了各位,以上就是這篇文章的全部內容了,能看到這裡的人呀,都是人才。之前說過,PHP方面的技術點很多,也是因為太多了,實在是寫不過來,寫過來了大家也不會看的太多,所以我這裡把它整理成了PDF和文件,如果有需要的可以
更多學習內容可以訪問【對標大廠】精品PHP架構師教程目錄大全,只要你能看完保證薪資上升一個臺階(持續更新)
以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務程式碼寫多了沒有方向感,不知道該從那裡入手去提升,對此我整理了一些資料,包括但不限於:分散式架構、高可擴充套件、高效能、高併發、伺服器效能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell指令碼、Docker、微服務、Nginx等多個知識點高階進階乾貨需要的可以免費分享給大家,需要的可以加入我的 PHP技術交流群
相關文章
- 媽媽再也不用擔心我不會webpack了Web
- 媽媽再也不用擔心我不會webpack了2Web
- JS維護nginx反向代理,媽媽再也不用擔心我跨域了!JSNginx跨域
- Python課堂點名器,媽媽再也不會擔心我被老師點名了Python
- 一文吃透redis持久化,媽媽再也不擔心我面試過不了!Redis持久化面試
- 一文讀懂 flex, 媽媽再也不用擔心我的佈局了Flex
- 快速定位無用路由 媽媽再也不用擔心人工排雷了路由
- React效能分析利器來了,媽媽再也不用擔心我的React應用慢了React
- Jonas智慧雨傘:媽媽再也不用擔心我會變落湯雞了
- 👅媽媽在也不用擔心我不會寫介面了
- Python爬取雙色球,媽媽再也不會擔心我不會中獎了Python
- Python網路解析庫Xpath,媽媽再也不會擔心我不會解析了Python
- 能關掉經痛的Livia智慧穿戴 媽媽再也不擔心了
- Python爬取鬥圖啦,媽媽再也不會擔心我無圖可刷了Python
- 安裝一條龍,媽媽再也不用擔心我不會安裝啦
- 媽媽再也不用擔心你不會使用執行緒池了(ThreadUtils)執行緒thread
- 用Python爬取線上教程轉成PDF,媽媽再也不用擔心我的學習了!Python
- 媽媽再也不用擔心爬蟲被封號了!手把手教你搭建Cookies池爬蟲Cookie
- 內網穿透---IPv6點對點【媽媽再也不用擔心網速了】內網穿透
- Python網路請求庫Requests,媽媽再也不會擔心我的網路請求了(一)Python
- Python 線上免費批量美顏,媽媽再也不用擔心我 P 圖兩小時啦Python
- 【機器學習PAI實踐十一】機器學習PAI為你自動寫歌詞,媽媽再也不用擔心我的freestyle了(提供資料、程式碼機器學習AI
- multipages-generator今日釋出?!媽媽再也不用擔心移動端h5網站搭建了!H5網站
- C#基礎系列:再也不用擔心面試官問我“事件”了C#面試事件
- 再也不用擔心問RecycleView了——面試真題詳解View面試
- 一句話設定當前控制器的view跟隨鍵盤起伏,媽媽再也不用擔心鍵盤擋住輸入框了View
- 掌握 SQL 這些核心知識點,出去吹牛逼再也不擔心了SQL
- 一文搞懂MySQL架構設計,再也不用擔心面試官問得太深MySql架構面試
- 安裝kill switch再也不用擔心你的iPhone被盜了iPhone
- Flutter 萌新高頻問題(加班猿媽媽叫你回家吃飯了)Flutter
- 再也不用擔心 SSH 斷開了 - tmux 命令UX
- 再也不用擔心蘋果資料誤刪了蘋果
- 智慧打底褲:再也不用擔心尺碼了
- 521我發誓讀完本文,再也不會擔心Spring配置類問題了Spring
- 面試現場:這些常問的面試題你都會了嗎面試題
- 看完這篇,再也不怕面試官問我執行緒池了面試執行緒
- 再也不用擔心網頁編碼的坑了!網頁
- 阿里媽媽給出了什麼樣的賽題,被頂會NeurIPS 2024 pick了?阿里