-
PHP strstr() 和 strrchr() 详解
strstr() 和 strrchr()有一定的相似性,所以放在一起。
strstr
strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string
needle 可以为单个字符,也可以是个字符串。
返回 needle 在 haystack 在第一次出现的位置到结束,包括 needle。
before_needle 为true时,则返回needle之前的字符串,不包括 needle。
strrchr
strrchr ( string $haystack , mixed $needle ) : string
返回 needle 在 haystack 在最后一次出现的位置到结束,包括 needle。
needle 必须为单个字符,多个字符只有第一个起作用。
一个典型应用就是获取文件扩展名,如下
strtolower(strrchr($filename, '.'))
总结
两者的异同
strstr 中 needle 可以为字符串
strrchr 中 needle只能为单个字符,从名称上也能看出来。中间的r代表right,指从右边开始算起。既然有从右边开始算,那么肯定也应该有从左边开始算的,而且命名应该是 strlchr,按照惯例,l 可以省略,那就是 strchr,查了一下果然有,不过是 strstr 的别名,而且功能有所增强。
目前来看,唯一不对称的就是命名和功能,不一致,不知道官方基于什么考虑。
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式