php字符串匹配相关函数性能对比

php字符串匹配相关函数性能对比

常用的字符串匹配的方法(包含中文的模式)
1,mb_strstr 或者不区分大小写 mb_stristr,判断一个字符串是否包含另外一个字符串
2,mb_strpos或者不区分大小写 mb_stripos,返回一个字符串在另外一个字符串第一次出现的位置
3,preg_match 字符串是否匹配

这里强烈推荐一波字符串匹配的算法,很全很实用: 字符串匹配算法.

示例代码

在这里插入图片描述

性能比对

函数循环次数字符串长度耗时(ms)
mb_strpos100010004
mb_stripos10001000183
mb_strstr100010000
mb_stristr10001000185
preg_match100010000
mb_strpos10000100041
mb_stripos1000010001756
mb_strstr1000010007
mb_stristr1000010001840
preg_match1000010009
mb_strpos10001000034
mb_stripos1000100001563
mb_strstr1000100002
mb_stristr1000100001652
preg_match1000100002
mb_strpos1000010000362
mb_stripos100001000016019
mb_strstr100001000020
mb_stristr100001000016663
preg_match100001000030

总结

通过上面的数据可以看出,如果要匹配大小写的话,php自带的字符串操作函数的性能都不如正则匹配preg_match ,而且性能差距很大,如果不需要大小写都匹配的话,用mb_strstr效果会更好,当然如果一定要返回位置,那么只能用mb_strpos函数了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值