博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】php中如何判断字符串的长度?很多人第一想到的应该就是 strlen() mb_strlen() 这些函数了。但是从程序性能上来讲,这两个函数在判断字符串长度的过程中都不是最佳的,虽然他们是专业级的检测字符串长度的函数。
通过本人实践总结,php判断字符串长度,使用isset()在速度上比strlen()更快,执行效率更高。
那么isset()速度为什么比strlen()更快呢?
strlen()函数函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化、哈希查找,会跟随被调用的函数一起执行。因此在某些情况下,合理使用isset()可以加速你的程序。因为isset()是一种语言结构,它的执行不需要函数查找和字母小写化等。
具体通过 isset() 和 strlen() 判断字符串长度示例如下:
function get_microtime()
{
list($usec,$sec) = explode(" ",microtime());
return ((float)$sec + (float)$usec);
}
$begin = get_microtime();
if(strlen($str) < 25)
{
echo "未满25";
}
$end = get_microtime();
var_dump($end -$begin);
$begin = get_microtime();
if(!isset($str{24}))
{
echo "未满25";
}
$end = get_microtime();
var_dump($end -$begin);
执行时间在一定程度上 strlen() 的时间长。
版权归 马富天PHP博客 所有
本文标题:《php 性能优化:使用 isset() 判断字符串长度速度比 strlen() 更快》
本文链接地址:http://www.mafutian.net/230.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶1
踩0
评论审核未开启 |