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

PHP 字串開頭結尾判斷:substr/strpos/strncmp/substr_compare 多種方法效能對比

     編輯:PHP 綜合知識

前言

判斷字串是否以特定前綴/後綴開頭/結尾是常見需求。PHP 提供多種方法,本文詳細對比 substr、strpos、strncmp、substr_compare 四種寫法的語法、效能與適用場景。

測試字串



四種判斷開頭的方法



兩種判斷結尾的方法



效能基準測試 (PHP 8.1, 1000 萬次迴圈)



方法特性對比表

方法判斷開頭判斷結尾二進位安全多位元組支援效能推薦度
substr ✓ ✓ (負長度) ✓ ✗ (需 mb_substr) 快 ★★★☆☆
strpos ✓ ✗ ✓ ✗ (需 mb_strpos) 最快 ★★★★☆ (僅開頭)
strncmp ✓ ✗ ✓ ✗ 最快 ★★★★★ (開頭首選)
substr_compare ✓ ✓ (負偏移) ✓ ✗ 快 ★★★★☆ (通用首選)
mb_substr ✓ ✓ ✓ ✓ 較慢 ★★★★★ (多語言必須)
str_starts_with ✓ ✗ ✓ ✓ 極快 ★★★★★ (PHP 8.0+ 開頭首選)
str_ends_with ✗ ✓ ✓ ✓ 極快 ★★★★★ (PHP 8.0+ 結尾首選)

現代最佳實踐 (PHP 8.0+)



多位元組字串 (中文/日文/Emoji) 正確處理



封裝為工具函數



延伸閱讀

更多 PHP 相關內容可參考本站專題:《PHP 字符串用法總結》、《PHP 陣列操作技巧大全》、《PHP 運算與運算符用法總結》、《PHP 網絡編程技巧總結》、《PHP 基本語法入門教程》、《PHP 操作 Office 文檔技巧總結》、《PHP 日期與時間用法總結》、《PHP 面向對象程序設計入門教程》、《PHP+MySQL 數據庫操作入門教程》及《PHP 常見數據庫操作技巧匯總》。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved