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

2022-10-06 12:30:14 字數 1047 閱讀 9713

有經驗的程式設計師發現,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...