首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 陣列操作函數大全:從入門到精通

     編輯:PHP 相關知識

陣列是 PHP 中最核心、使用頻率最高的資料結構。掌握內建陣列函數能大幅提升開發效率,避免重複造輪子。本文系統整理 30 個常用陣列操作函數,按功能分類並附帶語法說明。

搜尋與檢查類

函數用途語法
in_array()檢查值是否存在於陣列bool in_array(mixed $needle, array $haystack, bool $strict = false)
array_key_exists()檢查鍵名是否存在(注意:原文有誤寫為 array_eky_exists)bool array_key_exists(mixed $key, array $array)
array_search()搜尋值並返回對應鍵名mixed array_search(mixed $needle, array $haystack, bool $strict = false)

鍵值提取類

函數用途語法
array_keys()取得所有鍵名組成新陣列array array_keys(array $array, mixed $search_value = null)
array_values()取得所有值組成新陣列(重新索引)array array_values(array $array)

統計與計數類

函數用途語法
count() / sizeof()計算陣列元素個數int count(array $array, int $mode = COUNT_NORMAL)
array_count_values()統計值出現頻率array array_count_values(array $array)

去重與反轉類

函數用途語法
array_unique()移除重複值array array_unique(array $array)
array_reverse()反轉陣列順序array array_reverse(array $array, bool $preserve_keys = false)
array_flip()交換鍵名與值array array_flip(array $array)

排序類(重點掌握)

函數特性保留鍵名
sort() / rsort()值排序(正向/反向)否(重新索引)
asort() / arsort()值排序(正向/反向)是
ksort() / krsort()鍵名排序(正向/反向)是
natsort() / natcasesort()自然排序(不分大小寫)是
usort()自定義比較函數排序否

排序旗標:SORT_REGULAR(預設)、SORT_NUMERIC、SORT_STRING、SORT_LOCALE_STRING

合併與分割類

函數用途關鍵差異
array_merge()合併陣列字串鍵名後覆蓋前;數字鍵名重新索引
array_merge_recursive()遞歸合併相同字串鍵名合併為陣列
array_combine()以一個陣列為鍵、另一個為值建立新陣列兩陣列長度必須相同
array_slice()截取陣列片段不修改原陣列
array_splice()移除並替換片段修改原陣列,返回被移除元素

集合運算類

函數用途
array_intersect()交集(比較值)
array_intersect_assoc()交集(比較鍵名+值)
array_diff()差集(第一個陣列有、其他沒有的值)
array_diff_assoc()差集(比較鍵名+值)

其他實用函數

  • array_rand():隨機取得一個或多個鍵名
  • shuffle():打亂陣列順序
  • array_sum():計算所有值的總和
  • array_chunk():將陣列分割成多個固定大小的區塊
  • array_pad():填充陣列到指定長度
  • array_fill() / array_fill_keys():建立填充值的陣列
  • range():建立指定範圍的陣列
  • compact() / extract():變數與陣列互轉

效能提示

  1. 優先使用內建函數而非手寫迴圈
  2. 大陣列操作時注意記憶體使用,適時 unset() 釋放
  3. isset($arr[$key]) 比 array_key_exists() 更快
  4. 避免在迴圈中重複呼叫 count(),預先儲存長度

熟練掌握這些函數,能讓 PHP 陣列操作事半功倍。建議收藏備查,實戰中多加練習。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved