编程 php strpos查找字符串性能对比

2024-11-19 08:15:16 +0800 CST views 2685

##strpos查找字符串性能对比
今天准备要做一个自动获取标签的功能,需要用到查找字符串的功能。于是对php的各个行数进行对比。使用tp5框架并且实际场景中测试
加载文件
strpos() 函数查找字符串在另一字符串中第一次出现的位置。
注释:strpos() 函数对大小写敏感。

	$haystack =[];
        for ($i=0; $i < 10000; $i++) { 
            $haystack[]=$i;
        }
        $tags=[];
        $str=strtolower($str);
        foreach($haystack  as $v){
            if(strstr($str,$v)){
                  $tags[]=$v;
            }
        }

10000次结果:运行时间 : 0.253014s [ 吞吐率:3.95req/s ] 内存消耗:2,133.81kb 文件加载:75
stripos() 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
注释:stripos() 函数是不区分大小写的。

代码同上 替换
stripos($str,$v)

10000次结果:运行时间 : 11.108635s [ 吞吐率:0.09req/s ] 内存消耗:2,157.81kb 文件加载:75

strrpos() 函数查找字符串在另一字符串中最后一次出现的位置。

注释:strrpos() 函数对大小写敏感。

代码同上 替换
strrpos($str,$v)

10000次结果:运行时间 : 0.336019s [ 吞吐率:2.98req/s ] 内存消耗:2,133.81kb 文件加载:75
strripos() - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)

代码同上 替换
strripos($str,$v)

10000次结果:运行时间 : 11.933682s [ 吞吐率:0.08req/s ] 内存消耗:2,157.81kb 文件加载:75
正则

preg_match("/{$v}/", $v)

10000次结果:运行时间 : 0.976056s [ 吞吐率:1.02req/s ] 内存消耗:2,249.89kb 文件加载:75
###最后决定用正则
最后代码如下:

preg_match("/{$v}/", $v)
复制全文 生成海报 PHP 性能优化 字符串处理 编程

推荐文章

使用 Nginx 获取客户端真实 IP
2024-11-18 14:51:58 +0800 CST
虚拟DOM渲染器的内部机制
2024-11-19 06:49:23 +0800 CST
前端如何优化资源加载
2024-11-18 13:35:45 +0800 CST
JavaScript 的模板字符串
2024-11-18 22:44:09 +0800 CST
【SQL注入】关于GORM的SQL注入问题
2024-11-19 06:54:57 +0800 CST
解决python “No module named pip”
2024-11-18 11:49:18 +0800 CST
html5在客户端存储数据
2024-11-17 05:02:17 +0800 CST
mysql删除重复数据
2024-11-19 03:19:52 +0800 CST
为什么大厂也无法避免写出Bug?
2024-11-19 10:03:23 +0800 CST
Redis和Memcached有什么区别?
2024-11-18 17:57:13 +0800 CST
Web浏览器的定时器问题思考
2024-11-18 22:19:55 +0800 CST
Rust 高性能 XML 读写库
2024-11-19 07:50:32 +0800 CST
支付页面html收银台
2025-03-06 14:59:20 +0800 CST
HTML5的 input:file上传类型控制
2024-11-19 07:29:28 +0800 CST
html夫妻约定
2024-11-19 01:24:21 +0800 CST
底部导航栏
2024-11-19 01:12:32 +0800 CST
智慧加水系统
2024-11-19 06:33:36 +0800 CST
php客服服务管理系统
2024-11-19 06:48:35 +0800 CST
2024年公司官方网站建设费用解析
2024-11-18 20:21:19 +0800 CST
批量导入scv数据库
2024-11-17 05:07:51 +0800 CST
PHP 8.4 中的新数组函数
2024-11-19 08:33:52 +0800 CST
全新 Nginx 在线管理平台
2024-11-19 04:18:33 +0800 CST
GROMACS:一个美轮美奂的C++库
2024-11-18 19:43:29 +0800 CST
宝塔面板 Nginx 服务管理命令
2024-11-18 17:26:26 +0800 CST
Nginx负载均衡详解
2024-11-17 07:43:48 +0800 CST
禁止调试前端页面代码
2024-11-19 02:17:33 +0800 CST
Vue 3 是如何实现更好的性能的?
2024-11-19 09:06:25 +0800 CST
程序员茄子在线接单