有經驗的程式設計師發現,php判斷字串長度,使用isset()在速度上比strlen()更快,執行效率更高。
即:複製** **如下:
$str = 『aaaaaa';
if(strlen($str) > 6)
vsif(!isset($str)
用例子簡單測試下,情況基本屬實,isset()效率幾乎是strlen()的3倍。
示例:複製** **如下:
程式設計客棧php
//使用strlen方式
$arr = "123456";
$stime = microtime(1);
if(strlen($arr) > 6)
echo microtime(1) - $stime;
輸出:0.0003559www.cppcns.com5893859863
複製** **如下:
<?php
//使用isset($arr{})方式
&nbjaxsqqysp;$arr = "123456";
$stime = micrjaxsqqyotime(1);
if(!isset($arr))
echo microtime(1) - $stime;
輸出:0www.cppcns.com.00019097328186035
isset()速度為什麼比strlen()更快
strlen()函式函式執行起來相當快,因為它不做任何計算,只返回在zval 結構(c的內建資料結構,用於儲存php變數)中儲存的已知字串長度。但是,由於strlen()是函式,多多少少會有些慢,因為函式呼叫會經過諸多步驟,如字母小寫化(譯註:指函式名小寫化,php不區分函式名大小寫)、雜湊查詢,會跟隨被呼叫的函式一起執行。
在某些情況下,使用isset() 技巧可以加速執行你的**。因為與isset()作為一種語言結構,意味著它的執行不需要函式查詢和字母小寫化。也就是說,實際上在檢驗字串長度的頂層**中你沒有花太多開銷。
因此呼叫isset()比strlen()快。
本文標題: php 字串長度判斷效率更高的方法
本文位址:
PHP 更高效的字元長度判斷方法
今天看到有人說,在做字串長度判斷的時候,有個比strlen效率更高的方法。即 str aaaaaa if strlen str 6 vs if isset str 晚上自己用例子簡單測試下,情況基本屬實,特此記錄下。後者效率幾乎是前者的3倍。具體原因是,在php中,所有的變數都是用乙個結構 zval...
JS 字串長度判斷
content.replaceall r n r n n r 回車替換成換行符 方法一var getlength function str return reallength function getreallen str 附贈另一小則技巧 有時候為了美觀,不影響布局和介面,會以一些文案進行截字,但...
php 字串長度函式
php 字串長度函式 php 字串長度函式,在php測試字串長度的函式有二個,乙個是strlen,另乙個是mb strlen前乙個預設是支援,後乙個需要開啟乙個外掛程式,下面我們來介紹一下二個函式的區別與應用方法。php strlen 函式 定義和用法 strlen 函式返回字串的長度。語法strl...