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

PHP 常用函數速查大全:字符串、數組、數學、日期、文件、數據庫

     編輯:PHP 相關知識

前言

本文匯總 PHP 核心擴展的常用函數分類速查表,涵蓋字符串處理、數組操作、數學計算、日期時間、文件系統、數據庫交互、會話控制等高頻場景,適合開發時快速查閱。函數名採用標準大小寫,參數簡述以官方文檔為準。

分類速查表

1. 字符串處理

函數說明
strlen()獲取字符串長度(字節數)
mb_strlen()多字節編碼下獲取字符數
substr()截取子串(支援負偏移)
mb_substr()多字節安全截取
strpos()/stripos()查找子串首次出現位置(大小寫敏感/不敏感)
str_replace()字符串替換(支援數組批量)
preg_match()/preg_replace()正則匹配/替換(PCRE)
explode()按分隔符分割字符串為數組
implode()數組元素拼接為字符串
trim()/ltrim()/rtrim()去除首尾空白字符
htmlspecialchars()特殊字符轉 HTML 實體(防 XSS)
urlencode()/urldecode()URL 編碼/解碼
md5()/sha1()/hash()哈希摘要計算
base64_encode()/base64_decode()Base64 編解碼
json_encode()/json_decode()JSON 編解碼

2. 數組操作

函數說明
array()/[]創建數組
count()/sizeof()統計元素個數
array_push()/array_pop()棧操作:壓入/彈出
array_shift()/array_unshift()隊列操作:移除/插入首元素
array_merge()合併數組(字符串鍵覆蓋,數字鍵重新索引)
array_combine()用一個數組作鍵,另一個作值創建關聯數組
array_keys()/array_values()獲取所有鍵/值
in_array()檢查值是否存在
array_key_exists()檢查鍵是否存在
array_search()搜索值返回鍵
sort()/rsort()值排序(重新索引)
asort()/arsort()值排序(保持鍵關聯)
ksort()/krsort()鍵排序
array_map()回調函數處理每個元素
array_filter()回調過濾元素
array_reduce()回調歸約為單一值
array_walk()遍歷修改元素(引用傳遞)
array_column()提取多維數組單列(PHP 5.5+)
array_unique()去除重複值

3. 數學計算

函數說明
abs()絕對值
ceil()/floor()/round()向上/向下/四捨五入取整
rand()/mt_rand()隨機整數(mt_ 速度更快)
min()/max()最小/最大值
pow()/sqrt()冪/平方根
pi()圓周率常量
sin()/cos()/tan()三角函數
bcadd()/bcsub()/bcmul()/bcdiv()高精度浮點數加減乘除
bccomp()高精度比較
base_convert()進制轉換(2-36)
decbin()/dechex()/decoct()十進制轉二/十六/八進制
bindec()/hexdec()/octdec()反向轉換

4. 日期時間

函數說明
time()當前 Unix 時間戳
microtime(true)帶微秒的時間戳(浮點數)
date()格式化時間戳為字符串
strtotime()解析英文文本日期為時間戳
mktime()從日期參數獲取時間戳
getdate()時間戳轉關聯數組
checkdate()驗證日期合法性
DateTime 類面向對象日期操作(時區、格式化、加減運算)
DateInterval時間間隔對象
DatePeriod日期周期迭代器

5. 文件系統

函數說明
fopen()/fclose()打開/關閉文件句柄
fread()/fwrite()讀寫文件內容
file_get_contents()/file_put_contents()一次性讀寫整個文件
file()讀入數組(每行一元素)
copy()/rename()/unlink()複製/重命名/刪除
mkdir()/rmdir()創建/刪除目錄
scandir()/glob()掃描目錄/模式匹配文件
filesize()/filemtime()文件大小/修改時間
is_file()/is_dir()/is_readable()/is_writable()類型與權限檢查
realpath()獲取絕對路徑(解析符號鏈接)
pathinfo()解析路徑信息(目錄名、文件名、擴展名)
tempnam()/tmpfile()創建臨時文件
flock()文件鎖(共享/排他/非阻塞)

6. 數據庫(MySQLi / PDO)

MySQLi 面向過程風格

函數說明
mysqli_connect()建立連接
mysqli_query()執行 SQL
mysqli_prepare()預處理語句
mysqli_stmt_bind_param()綁定參數
mysqli_stmt_execute()執行預處理
mysqli_fetch_assoc()獲取關聯數組行
mysqli_insert_id()獲取自增 ID
mysqli_affected_rows()影響行數
mysqli_close()關閉連接

PDO(推薦)

方法說明
new PDO()構造連接(DSN、用戶、密碼、屬性)
prepare()預處理
execute()執行
fetch()/fetchAll()獲取結果
lastInsertId()自增 ID
beginTransaction()/commit()/rollBack()事務控制
setAttribute()設置屬性(錯誤模式、默認獲取模式等)

7. 會話與 Cookie

函數說明
session_start()啟動/恢復會話
$_SESSION超全局會話數組
session_destroy()銷毀會話數據
session_regenerate_id()重新生成 Session ID(防固定攻擊)
setcookie()設置 Cookie
$_COOKIE獲取 Cookie

8. 其他高頻函數

  • header() — 發送原始 HTTP 頭(重定向、Content-Type、緩存控制)
  • die()/exit() — 輸出信息並終止腳本
  • isset()/empty()/is_null() — 變量狀態檢查
  • var_dump()/print_r() — 調試輸出變量結構
  • error_reporting() — 設置錯誤報告級別
  • ini_set()/ini_get() — 運行時修改/讀取配置
  • function_exists()/extension_loaded() — 檢查函數/擴展可用性
  • call_user_func()/call_user_func_array() — 動態調用回調

使用建議

  1. 優先使用 PDO 而非 mysql_*(已移除)或 mysqli_* 面向過程風格。
  2. 字符串處理多字節場景(中文)必須用 mb_* 系列,並在腳本開頭 mb_internal_encoding('UTF-8')。
  3. 日期時間操作推薦 DateTime 類,避免 strtotime 邊界歧義。
  4. 高精度金額計算務必用 bcmath 擴展函數,禁用浮點數直接運算。
  5. 文件操作大文件時使用流式讀寫,防止內存耗盡。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved