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

PHP 字串查找函數 strrpos() 與 strripos() 完整解析

     編輯:PHP 綜合知識

函數對比速查

函數大小寫敏感度用途
strrpos()敏感查找字串最後一次出現位置
strripos()不敏感查找字串最後一次出現位置(忽略大小寫)

語法定義

strrpos(string $haystack, string $needle, int $offset = 0): int|false
strripos(string $haystack, string $needle, int $offset = 0): int|false
  • $haystack:被搜尋的字串
  • $needle:要查找的字串(PHP 8.0+ 接受非字串自動轉換)
  • $offset:開始搜尋的位置(負數表示從末尾倒數)
  • 回傳:找到則回傳位置(0 起始),否則回傳 false

實戰範例

範例 1:strripos() — 不分大小寫

在 "Hello world!" 中,"WO"(忽略大小寫)匹配 "wo",位置為 6。

範例 2:strrpos() — 分大小寫

範例 3:使用 offset 參數

實務應用:驗證 HTTP 協議連結

常見錯誤與最佳實踐

❌ 錯誤:用 != false 判斷

✅ 正確:用 !== false 或 === false

相關函數快速查閱

函數說明
strpos()找第一次出現位置(大小寫敏感)
stripos()找第一次出現位置(不敏感)
strrpos()找最後一次出現位置(敏感)
strripos()找最後一次出現位置(不敏感)
strstr()返回從第一次出現到結尾的子串
stristr()同上,不敏感

效能建議

  • 單純檢查開頭/結尾:優先用 str_starts_with()/str_ends_with()(PHP 8.0+),語意明確且最快
  • 大字串搜尋:strrpos 從後向前掃描,若目標靠近末尾效能優於 strpos
  • 避免在迴圈中重複搜尋同一字串,預先計算位置
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved