PHP 核心函數分類速查表
PHP 內建上千個函數,開發者無需全記,但必須熟悉高頻核心函數。本文將數學、字串、陣列三大類最實用的函數分類彙整,附簡短說明,適合做為開發時的快速參考卡。
數學函數(精選 10+ 高頻)
- abs - 絕對值
- round / floor / ceil - 四捨五入 / 向下取整 / 向上取整
- pow / sqrt - 次方 / 平方根
- max / min - 最大值 / 最小值
- rand / mt_rand - 隨機整數(mt_rand 效能更佳)
- decbin / bindec / dechex / hexdec / decoct / octdec - 進制轉換
- base_convert - 任意進制互轉
- pi - 圓周率常數
- sin / cos / tan - 三角函數
- log / log10 / exp - 對數與指數
- is_nan / is_infinite / is_finite - 數值狀態判斷
字串函數(建議掌握 20+)
基礎操作
- strlen / mb_strlen - 長度(多位元組請用 mb_)
- trim / ltrim / rtrim - 移除首尾空白
- substr / mb_substr - 擷取子字串
- strtolower / strtoupper / ucfirst / ucwords - 大小寫轉換
查找與替換
- strpos / stripos / strrpos / strripos - 位置查找(i 為不分大小寫)
- str_replace / str_ireplace - 字串替換
- substr_replace - 部分替換
格式化與編碼
- sprintf / printf / vsprintf - 格式化字串
- htmlspecialchars / htmlentities - HTML 實體編碼(防 XSS 必備)
- json_encode / json_decode - JSON 處理
- md5 / sha1 / hash - 雜湊運算
- urlencode / urldecode / rawurlencode - URL 編碼
陣列化與分割
- explode / str_split - 字串轉陣列
- implode / join - 陣列轉字串
- parse_str - 查詢字串解析為變數
進階比較
- strcmp / strcasecmp / strnatcmp - 二進制/自然排序比較
- similar_text / levenshtein - 相似度計算
陣列函數(必會 15+)
建立與填充
- array / [] / array_fill / array_fill_keys / range / compact
鍵值操作
- array_keys / array_values / array_flip / array_combine / array_change_key_case
增刪改查
- array_push / array_pop / array_unshift / array_shift - 棧/隊列操作
- array_slice / array_splice - 切片/拼接(splice 會修改原陣列)
- array_merge / array_merge_recursive / array_replace - 合併
- in_array / array_search / array_key_exists / isset() - 查找
過濾與轉換
- array_map / array_filter / array_reduce / array_walk - 回調式處理
- array_unique / array_count_values / array_column - 去重/統計/欄位提取
排序
- sort / rsort / asort / arsort / ksort / krsort - 基礎排序
- usort / uasort / uksort / natsort / natcasesort - 自定義/自然排序
- array_multisort - 多維/多陣列排序
指標與其他
- current / next / prev / end / reset / each - 內部指標
- count / sizeof - 元素計數
- extract / list - 變數匯入/解包
- shuffle / array_rand / array_reverse - 打亂/隨機/反轉
使用建議
- 優先使用 PHP 8.0+ 新函數(如
str_contains(), str_starts_with(), array_is_list())
- 多位元組字串務必加
mb_ 前綴
- 大型陣列操作注意記憶體,善用生成器
yield 或 array_chunk 分批處理
- 排序函數多為引用修改原陣列,若需保留原本請先複製