1. 字符位置查找
| 函數 | 說明 |
strpos($str, $search, [$offset]) | 查找 $search 在 $str 中首次出現位置,可指定起始偏移 |
stripos($str, $search, [$offset]) | 大小寫不敏感版 strpos |
strrpos($str, $search, [$offset]) | 查找 $search 最後一次出現位置 |
2. 子字符串提取(雙字節安全)
| 函數 | 說明 |
substr($str, $start, [$length]) | 從 $start 位置提取 $length 長度子串 |
strstr($haystack, $needle) | 從 $needle 首次出現處截取到結尾,未找到返回 false |
stristr() | 大小寫不敏感版 strstr |
strrchr($str, $char) | 從字符最後一次出現處截取,常用於提取路徑文件名 |
3. 字符串替換
| 函數 | 說明 |
str_replace($search, $replace, $subject) | 查找 $search 替換為 $replace,支持數組批量 |
str_ireplace() | 大小寫不敏感版 str_replace |
strtr($str, $from, $to) | 字符級轉換,$to 不能為空串 |
substr_replace($str, $replacement, $start, [$length]) | 指定位置長度替換 |
4. 字符串長度
| 函數 | 說明 |
strlen($str) | 返回字節長度(非字符數,多字節字符需用 mb_strlen) |
5. 字符串比較
| 函數 | 說明 |
strcmp($a, $b) | 二進制安全比較,返回 >0/=0/<0 |
strcasecmp() | 大小寫不敏感版 strcmp |
strnatcmp($a, $b) | 自然排序比較("4" < "14") |
strnatcasecmp() | 自然排序 + 大小寫不敏感 |
本手冊涵蓋 PHP 核心字符串函數 9 大分類 40+ 函數,建議收藏備查。實際開發中優先使用 mb_* 多字節系列函數處理中文等非 ASCII 文本。