有经验的程序员发现PHP来确定一个字符串的长度,使用isset()更快和更有效的比strlen()。
这是:
复制代码代码如下所示:
$str =aaaaaa;
如果(strlen(str)> 6)
VS
如果(!isset($str { 6 }))

例如简单的测试,情况基本属实,和isset()几乎是3倍以上的效率比strlen()。
实例:
复制代码代码如下所示:
< PHP
/ / strlen
ARR =123456美元;
$sTime = microtime (1);
如果(strlen($ ARR)> 6){
1 回音;
}
回波瞬时(1)至时间;

输出:0.0003559589385986
复制代码代码如下所示:
< PHP
对使用isset /($ ARR { })模式
ARR =123456美元;
$时间=新华(1);
如果(!isset($ ARR { 6 })){
1;
}
回波瞬时(1)至时间;

输出:0.0001909732818603

为什么isset()速度比strlen()
strlen()函数执行得相当快,因为它不做任何计算,只有返回已知的字符串长度存储在zval结构(C的内置数据结构,用于存储PHP变量)。然而,由于strlen()是一个函数,它会慢一点,因为函数调用会通过很多步骤,如字母小写,和哈希查找将PHP的功能。
在某些情况下,使用isset()方法可以加速你的代码的执行。因为isset()作为一种语言结构,这意味着它的执行不需要函数查找和字母按字母顺序排列的,事实上,你不要花太多的时间在顶层代码检查的字符串长度。

所以调用isset()比strlen()。