PHP判断字符串长度高效方式

与其使用php内置函数strlen(),不如巧用isset()方法。
假设要判断一个手机号字符串是不是超过了11位。
你可以用 if (strlen(str) > 11) {}; 你也可以用 if (isset(str[11])) {};
巧妙利用字符串数组的第11个key是否存在。提升效率。
废话不多说,上测试代码:

str = '13888888888';time1 = microtime(true);
for(i=0;i<50000000;i++){ if (isset(str[11])) {}
}

time2 = microtime(true); for(i=0;i<50000000;i++){
if (strlen($str) > 11) {}
}

time3 = microtime(true); var_dump(time1, time2,time3);
var_dump(time2 -time1, time3 -time2);
exit;
----------------运行结果----------------------------------------------
float 1574857802.7339
float 1574857812.3545
float 1574857824.9185
float 9.6205952167511
float 12.564018964767
----------------测试结论----------------------------------------------
运行5千万次,就可以看出用 isset(str[11]) 要比 strlen(str) > 11 效率更高。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。