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

PHP 常用函數速查手冊:字串、陣列、日期、檔案、資料庫核心 API

     編輯:PHP 相關知識

前言

整理高頻使用的 PHP 核心函數,按功能分類,附帶簡要說明與常見用法,適合開發時快速查閱。建議搭配 官方文檔 深入參數細節。

一、字串處理

函數用途範例/備註
htmlspecialchars()特殊字元轉 HTML 實體(防 XSS)htmlspecialchars($str, ENT_QUOTES, 'UTF-8')
md5() / sha1()雜湊摘要(不適用密碼)密碼請用 password_hash() / password_verify()
number_format()格式化數字(千分位、小數位)number_format(1234.5, 2, '.', ',') // 1,234.50
preg_match()正則匹配回傳 1/0/false;preg_match_all 取所有匹配
trim() / ltrim() / rtrim()移除首尾空白字元預設移除空格、\t、\n、\r、\0、\x0B
printf() / sprintf()格式化輸出/回傳字串sprintf('%04d', 7) // '0007'
str_replace()字串替換(支援陣列批量)區分大小寫;str_ireplace() 不區分
strip_tags()移除 HTML/PHP 標籤第二參數允許保留標籤:strip_tags($str, '<b><i>')
explode()字串分割成陣列explode(',', 'a,b,c');str_split() 按長度分割
implode()陣列合併成字串別名 join()
strpos() / stripos()尋找子串首次出現位置嚴格用 === false 判斷未找到
strrchr()尋找字元最後一次出現,回傳含該字元後段strrchr('/path/file.php', '.') // '.php'
strrpos()尋找子串最後一次出現位置
strstr() / stristr()尋找子串首次出現,回傳含該子串後段第三參數 true 回傳前段
substr() / mb_substr()截取子串(多位元組請用 mb_)mb_substr($str, 0, 10, 'UTF-8')

二、陣列操作

函數用途範例/備註
array_filter()回調過濾元素保留鍵名;ARRAY_FILTER_USE_KEY 依鍵過濾
array_intersect()計算交集(比較值)鍵名保留;array_intersect_key() 比較鍵
array_merge()合併陣列(數值鍵重新索引)+ 運算子保留鍵名、先勝
array_pop() / array_push()堆疊操作(尾部彈出/壓入)[] 語法等同 push
array_rand()隨機取一或多個鍵名不取值;array_shuffle() 打亂值
array_shift() / array_unshift()隊列操作(頭部彈出/壓入)數值鍵重新索引
array_sum()數值元素求和
in_array()檢查值是否存在第三參數 true 嚴格模式
range()建立區間陣列range(1, 10, 2) // [1,3,5,7,9]
shuffle()打亂陣列順序(原地修改)
array_unique()移除重複值保留首次出現鍵名;字串比較預設

三、日期時間

函數用途範例/備註
date()格式化時間戳date('Y-m-d H:i:s');DateTime::format() 物件風格
getdate()取得時間資訊關聯陣列含 year、mon、mday、hours、minutes、seconds、weekday 等
microtime(true)取得微秒級時間戳回傳 float,適合效能計時
mktime()由日期時間構建時間戳推薦 strtotime() 或 new DateTime()
strtotime()解析英文文字日期strtotime('+1 week')、strtotime('first day of this month')
DateTime 類別現代 OO 日期時間 API不可變版 DateTimeImmutable、時區 DateTimeZone

四、檔案系統

函數用途範例/備註
basename()取得路徑中的檔名basename('/path/file.txt') // 'file.txt'
dirname()取得目錄路徑
file_get_contents()讀取整檔內容成字串支援 URL(需 allow_url_fopen);大檔案慎用
file()讀取整檔成陣列(每行一元素)含換行符;FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES
fopen()開啟檔案指標(流操作基礎)模式:r/r+/w/w+/a/a+/x/x+;配合 fread/fwrite/fgets/feof/fclose
pathinfo()解析路徑資訊回傳 dirname/basename/extension/filename;第二參數指定單項
readfile()直接輸出檔案到輸出緩衝大檔案下載不佔記憶體;回傳位元組數
is_file() / is_dir()判斷檔案/目錄是否存在
mkdir() / rmdir()建立/刪除目錄mkdir($path, 0755, true) 遞迴建立
unlink()刪除檔案
copy() / rename()複製/移動/重命名
glob()模式匹配檔案列表glob('*.php')
realpath()取得絕對路徑(解析符號連結)不存在回傳 false

五、Session 與 Cookie

函數用途範例/備註
session_start()啟動/恢復 Session必在輸出前調用;session_status() 檢查狀態
session_destroy()銷毀 Session 資料通常配合 $_SESSION = []、setcookie(session_name(), '', time()-3600)
session_regenerate_id(true)重新生成 Session ID(防固定攻擊)登入成功後必呼叫
setcookie()設定 Cookiesetcookie('name', 'val', time()+3600, '/', '', true, true)(Secure、HttpOnly)
$_COOKIE讀取 Cookie僅含瀏覽器發送的 Cookie

六、MySQLi / PDO 核心 API

API說明
mysqli_connect() / new mysqli()建立連接
mysqli_query() / $mysqli->query()執行 SQL(非預處理)
mysqli_prepare() / $mysqli->prepare()預處理語句(防注入核心)
mysqli_stmt_bind_param()綁定參數
mysqli_stmt_execute()執行預處理
mysqli_stmt_get_result()取得結果集(需 mysqlnd)
mysqli_fetch_assoc() / _array() / _object() / _row()逐行取資料
mysqli_affected_rows()影響行數
mysqli_insert_id()最後自增 ID
mysqli_close()關閉連接
PDO 等效new PDO()、prepare()、execute()、fetch(PDO::FETCH_ASSOC)、fetchAll()、lastInsertId()、beginTransaction/commit/rollBack

進階建議

  • 多位元組字串:統一使用 mb_* 族函數(mb_strlen、mb_substr、mb_strpos...),並在腳本開頭宣告 mb_internal_encoding('UTF-8')。
  • 資料庫:優先使用 PDO,支援多種驅動、命名參數、異常模式、物件映射。
  • 日期時間:新專案全面改用 DateTimeImmutable + DateTimeZone,避免 date()、strtotime() 時區陷阱。
  • 錯誤處理:啟用 mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT) 或 PDO ATTR_ERRMODE => ERRMODE_EXCEPTION,拋出異常統一捕獲。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved