PHP判断字符串长度的高效率示例
内容摘要
这篇文章主要为大家详细介绍了PHP判断字符串长度的高效率示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
有经验的程序员发
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
有经验的程序员发
文章正文
这篇文章主要为大家详细介绍了PHP判断字符串长度的高效率示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
有经验的程序员发现,php判断字符串长度,使用isset()在速度上比strlen()更快,执行效率更高。即:
代码如下:
1 2 3 4 5 | <code> $str = ‘aaaaaa'; if ( strlen ( $str ) > 6) VS if (!isset( $str {6}) </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 | <code><?php /* php教程 www.512Pic.com */ //使用strlen方式 $arr = "123456" ; $sTime = microtime(1); if ( strlen ( $arr ) > 6){ // echo 1; } echo microtime(1) - $sTime ; </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 | <code><?php /* php教程 www.512Pic.com */ //使用isset($arr{})方式 $arr = "123456" ; $sTime = microtime(1); if (!isset( $arr {6})){ // echo "1\r\n"; } echo microtime(1) - $sTime ; </code> |
isset()速度为什么比strlen()更快strlen()函数函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,使用isset() 技巧可以加速执行你的代码。因为与isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化。也就是说,实际上在检验字符串长度的顶层代码中你没有花太多开销。因此调用isset()比strlen()快。
注:关于PHP判断字符串长度的高效率示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释