PHP 更高效的字元長度判斷方法

2021-07-16 20:55:26 字數 848 閱讀 4865

今天看到有人說,在做字串長度判斷的時候,有個比strlen效率更高的方法。

即:$str = 『aaaaaa』;

if

(strlen

($str

)>

6)

vs

if

(!isset

($str

)

晚上自己用例子簡單測試下,情況基本屬實,特此記錄下。

後者效率幾乎是前者的3倍。

具體原因是,在php中,所有的變數都是用乙個結構-zval來儲存的,strlen雖然是直接獲取其中的len,但是仍然有一次函式呼叫,而isset是php的語法結構,所以更快!

示例:

<?

php

//使用strlen方式

$arr

='123456'

;$stime

=microtime(1

);if

(strlen

($arr

)>6)

echo microtime(1

)-$stime

;

輸出:

0.00035595893859863
<?

php//使用isset($arr{})方式

$arr

='123456'

;$stime

=microtime(1

);if

(!isset

($arr

))echo microtime(1

)-$stime

;

輸出:

0.00019097328186035

PHP 字串長度判斷效率更高的方法

有經驗的程式設計師發現,php判斷字串長度,使用isset 在速度上比strlen 更快,執行效率更高。即 複製 如下 str aaaaaa if strlen str 6 vsif isset str 用例子簡單測試下,情況基本屬實,isset 效率幾乎是strlen 的3倍。示例 複製 如下 程...

更高效的字串匹配演算法 shift and

在接觸這個演算法之前,一直覺得kmp巧奪天工,利用next陣列的遞推,實現對於模式串任一子串最大相同前字尾的找尋,繼而在匹配目標串的過程中,一旦遇到失配情況,可以令 匹配起始下標 進行合理範圍內最大的跳躍,從而將匹配整體複雜度從o nm 降為o m n a b c a bc.a b c a bk可從...

JS判斷字串長度的5個方法

這篇文章主要介紹了js判斷字串長度的5個方法,並且區分中文和英文,需要的朋友可以參考下 目的 計算字串長度 英文佔1個字元,中文漢字佔2個字元 方法一 如下 string.prototype.gblen function else return len 方法二 如下 function strlen ...