整理 PHP 開發最高頻的四大模組核心函數,附參數說明與代碼示例,適合離線速查或面試複習。建議收藏備用。
| 函數 | 用途 | 示例/備註 |
|---|---|---|
| implode(glue, arr) | 陣列轉字串 | implode('-', [1,2,3]) // "1-2-3" |
| explode(sep, str) | 字串分割成陣列 | 別名 join() |
| array_merge() | 合併多個陣列 | 數字鍵重新索引,字串鍵後者覆蓋 |
| array_combine(keys, vals) | 建立關聯陣列 | ['a','b'],[1,2] => ['a'=>1,'b'=>2] |
| array_push(arr, val...) | 入棧(尾部追加) | 返回新長度 |
| array_unique(arr) | 移除重複值 | 保留首次出現的鍵 |
| array_search(val, arr) | 搜尋值返回鍵 | 嚴格模式傳 true |
| array_keys/values(arr) | 取得所有鍵/值 | 返回索引陣列 |
| count/sizeof(arr) | 計算元素數 | 遞迴模式傳 COUNT_RECURSIVE |
| is_array(var) | 檢測是否陣列 | |
| sort/asort/ksort | 值排序/值排序保鍵/鍵排序 | rsort/arsort/krsort 為逆序 |
| array_flip(arr) | 鍵值互換 | 值必須為 int/string |
| key/current/next/reset/end/prev | 內部指標操作 | 配合 while 遍歷 |
| array_chunk(arr, size, keep_key) | 分塊陣列 | 返回多維陣列 |
| 函數 | 用途 | 示例/備註 |
|---|---|---|
| trim/rtrim/ltrim(str) | 去除首尾/尾部/首部空白 | 可指定字元遮罩 |
| addslashes(str) | 預定義字元加反斜線 | 單引號、雙引號、反斜線、NULL |
| strlen(str) | 字串長度(位元組) | 多位元組用 mb_strlen |
| substr(str, start, len) | 截取子字串 | 起始可為負數(從尾部算) |
| strstr/strchr(haystack, needle) | 首次出現位置到結尾 | 大小寫敏感 |
| strpos(haystack, needle) | 首次出現位置索引 | === false 判斷未找到 |
| str_replace(s, r, str) | 字串替換 | 支援陣列批量替換 |
| ucfirst/ucwords(str) | 首字/每詞首字大寫 | |
| strtolower/toupper(str) | 大小寫轉換 | 多位元組用 mb_ 版本 |
| strcmp(str1, str2) | 二進位安全比較 | 返回 <0, 0, >0 |
| substr_count(hay, needle) | 子串出現次數 |
核心:date(format, timestamp)
| 格式字元 | 含義 | 示例 |
|---|---|---|
| Y / y | 4位/2位年份 | 2024 / 24 |
| m / n | 月份(帶/不帶前導0) | 01 / 1 |
| d / j | 日期(帶/不帶前導0) | 05 / 5 |
| F / M | 月份全寫/縮寫 | January / Jan |
| l / D | 星期全寫/縮寫 | Monday / Mon |
| w / W | 星期數(0-6)/年間週數 | 1 / 05 |
| H / h | 24/12小時制(帶前導0) | 14 / 02 |
| G / g | 24/12小時制(不帶前導0) | 14 / 2 |
| i / s | 分/秒(帶前導0) | 05 / 09 |
| a / A | am/pm / AM/PM | pm / PM |
| U | Unix 時間戳 | 1704345600 |
| c | ISO8601 格式 | 2024-01-04T14:30:00+08:00 |
| r | RFC2822 格式 | Thu, 04 Jan 2024 14:30:00 +0800 |
常用輔助函數:
strtotime('today +3 days') 相對時間解析mktime(h,i,s,m,d,Y) 組合時間戳checkdate(m,d,Y) 驗證合法日期getdate(ts) 時間戳轉關聯陣列date_default_timezone_set('Asia/Taipei') 設定時區實用範本:本週/上週/本月/上月/本季起迄時間戳生成代碼見原文。
| 函數 | 用途 | 備註 |
|---|---|---|
| file_exists(path) | 檔案/目錄是否存在 | |
| filesize(file) | 取得檔案大小 | 位元組 |
| pathinfo(path) | 解析路徑資訊 | 返回 ['dirname','basename','extension'] |
| mkdir/rmdir(dir) | 建立/刪除目錄 | rmdir 僅限空目錄 |
| fopen/fclose/fread/fwrite | 底層檔案流操作 | 模式:r/w/a/x/r+/w+/a+ |
| file_get_contents/put_contents | 一次性讀/寫整檔 | 支援 URL、LOCK_EX |
| file(path) | 整檔讀入陣列 | 每行一元素含換行符 |
| readfile(file) | 讀檔直接輸出 | 適合大檔下載 |
| copy/unlink/rename | 複製/刪除/重命名 | |
| iconv('gbk','utf-8',$str) | 編碼轉換 | 需 iconv 擴展 |
掌握這四大模組核心函數,覆蓋 90% 日常 PHP 開發場景。