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

PHP 核心內置函數速查卡:高頻函數分類、參數陷阱與現代替代

     編輯:PHP 相關知識

超級全局變量

變量用途關鍵鍵名示例
$_SERVER服務器/執行環境信息REQUEST_URI, HTTP_HOST, REMOTE_ADDR, REQUEST_METHOD, SERVER_PROTOCOL
$_GET/$_POSTHTTP 參數自動解碼,filter_input() 更安全
$_COOKIECookie只讀,寫入用 setcookie()
$_SESSION會話數據需 session_start()
$_FILES上傳文件['name','type','tmp_name','error','size']
$_ENV環境變量配合 vlucas/phpdotenv 管理 .env
$GLOBALS全局作用域引用慎用,破壞封裝

字符串處理 (高頻 TOP 20)

函數用途陷阱/提示
strlen()字節長度多字節字符用 mb_strlen()
substr()截取多字節用 mb_substr(),負長度從末尾
strpos()/stripos()查找位置嚴格判斷 !== false,str_contains() (PHP 8) 更清晰
str_replace()替換(大小寫敏感)支援數組批量,str_ireplace() 忽略大小寫
preg_match()/preg_replace()正則匹配/替換定界符、修飾符、PREG_OFFSET_CAPTURE 獲取位置
trim()/ltrim()/rtrim()去除首尾字符第二參數可指定字符列表,預設空白字符
explode()/implode()分割/連接implode($arr) 省略膠水參數等同 ''
sprintf()/vsprintf()格式化字符串%s 字符串 %d 整數 %.2f 浮點
json_encode()/json_decode()JSON 轉換JSON_THROW_ON_ERROR (PHP 7.3) 異常處理,JSON_UNESCAPED_UNICODE 保留中文
hash()/hash_hmac()哈希/簽名sha256、sha3-256,密碼用 password_hash()
password_hash()/password_verify()密碼加密驗證默認 BCrypt,PASSWORD_ARGON2ID (PHP 7.3) 更強
bin2hex()/hex2bin()二進制⇄十六進制安全隨機 random_bytes() + bin2hex()
base64_encode()/base64_decode()Base64URL 安全用 rtrim(base64_encode($data), '=') 替換 +/
strtotime()英文文本轉時間戳相對時間強大,但歧義多,存儲用 DateTimeImmutable

文件系統與路徑

函數/常量用途提示
DIRECTORY_SEPARATOR / PATH_SEPARATOR跨平台路徑/路徑列表分隔符用常量勿硬編碼 / 或 :
realpath()解析絕對路徑(解析轉義、符號鏈接)文件不存在返回 false
basename()/dirname()取文件名/目錄名pathinfo() 一次獲取全部
file_exists()/is_file()/is_dir()存在性檢查緩存結果,高併發用 clearstatcache()
fopen()/fread()/fwrite()/fclose()流操作大文件分塊,stream_copy_to_stream() 高效複製
file_get_contents()/file_put_contents()整文件讀寫FILE_APPEND | LOCK_EX 追加寫入加鎖
glob()模式匹配文件返回數組,大目錄慎用
scandir()掃描目錄含 . ..,配合 FilesystemIterator 更現代

類型判斷與轉換 (PHP 8 推薦)

  • is_int() is_float() is_string() is_bool() is_array() is_object() is_null() is_callable() is_iterable() (PHP 7.1)
  • 嚴格類型聲明:declare(strict_types=1); function foo(int $a): string {}
  • gettype() / get_debug_type() (PHP 8) 獲取類型名。
  • 避免 is_numeric() 陷阱:'0xFF' 返回 true,filter_var($v, FILTER_VALIDATE_INT) 更精確。

數學與隨機

函數用途提示
mt_rand()/random_int()隨機整數加密用途必須用 random_int()
random_bytes()加密安全隨機字節生成 Token、IV、Salt 首選
round()/ceil()/floor()四捨五入/向上/向下取整round(1.234, 2, PHP_ROUND_HALF_EVEN) 銀行家算法
abs()/min()/max()絕對值/極值支援數組參數
pow()/sqrt()冪/平方根** 運算符更簡潔

自動加載與擴展

  • spl_autoload_register():註冊多個加載器,PSR-4 標準請用 Composer 生成的 vendor/autoload.php。
  • extension_loaded()/function_exists()/class_exists():運行時特性檢測。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved