PHP中字符串截取的效率
浏览:1553次 出处信息
缘起
如果你用PHP实现算法的话,效率可能会是比较关心的问题;对于大量的循环,循环体内任何一个操作都可能严重影响算法的效率,而字符串的截取也是最常见的操作;对于截取字符串中的一个字节的操作有两种写法:substr($string, $start, 1); 和 $string{$start}; 当然 $string{$start} 也可以写作 $string[$start]; 这里比较一下二者的效率。
测试

结论
使用$string{$start} 是 使用substr($string, $start, 1); 的效率的10倍, 其实,前者写起来还更方便呢。
脚本
<?php
$str = 'abcd';
$time_start = microtime(1);
$i = 0;
while($i++<100000) {
$str{2};
}
echo 'use $str{2}:',"\t\t\t", microtime(1) - $time_start , " s\n";
$time_start = microtime(1);
$i = 0;
while($i++<100000) {
substr($str, 2, 1);
}
echo 'use substr($str, 2, 1):',"\t", microtime(1) - $time_start, ' s';
exit;
建议继续学习:
- Vim 中截取部分内容保存到其他文件 (阅读:6788)
- PHP截取图片的某个区域 (阅读:3405)
- PHP截取汉字出现乱码的解决方法 (阅读:3298)
- Smarty截取中文乱码的解决办法 (阅读:3056)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:深入剖析 redis 数据结构 dict
后一篇:小心 int 乘法溢出! >>
文章信息
- 作者:phpor 来源: PHPor 的Blog
- 标签: 截取
- 发布时间:2014-11-22 23:50:00
近3天十大热文
-
[882] WordPress插件开发 -- 在插件使用 -
[136] 解决 nginx 反向代理网页首尾出现神秘字 -
[57] 整理了一份招PHP高级工程师的面试题 -
[55] 用 Jquery 模拟 select -
[54] Innodb分表太多或者表分区太多,会导致内 -
[54] 分享一个JQUERY颜色选择插件 -
[54] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] CloudSMS:免费匿名的云短信 -
[52] jQuery性能优化指南 -
[51] 海量小文件存储
