关于strpos 函数,你应该注意什么?
来源:互联网 发布:淘宝网游交易平台 编辑:程序博客网 时间:2024/04/19 20:25
首先让我们介绍一下这个函数:
mixed strpos(string
haystack,mixed needle [,int $offset = 0])查找
haystack中是否包含 needle ,(字符串位置从0开始)如果包含,则返回$needle 第一次出现的位置,否则返回false其中$needle 如果不是string, 则会被转换成整数并视为字符的顺序值。
offset是设置从 haystack 这个字符串的哪个位置开始进行 $needle的查找的,默认是从第0个位置开始。7.1.0 开始支持负数的 offset!
紧接着,我们来看两段代码
// 代码1$haystack1 = 'qinjianbo';$needle1 = 'qin';if (strpos($haystack1, $needle1)) { echo sprintf('$s 包含 $s', $haystack1, $needle1);} else { echo sprintf('$s 不包含 %s', $haystack1, $needle1);}// 代码2$haystack2 = 'qinjianbo';$needle2 = 'qin';if (strpos($haystack2, $needle2) !== false) { echo sprintf('$s 包含 $s', $haystack1, $needle1);} else { echo sprintf('$s 不包含 %s', $haystack1, $needle1);}
OK , 看到这两段代码,相信聪明的你已经注意到了 !== false ,对的,正如你运行这两段代码后看到的一样,代码1将输出 “qinjianbo 不包含 qin”, 而代码2 才会输出 “qinjianbo 包含 qin”。
为什么会这样呢?仔细再看看strpos 的加粗部分的介绍吧!~对,字符串位置从0开始,而且包含会返回第一次出现的位置。这里放返回的就是0了, 而if(0) 依然为false, 所以代码1 会输出”qinjianbo 不包含 qin”, 而代码2 的判断中加入了 !== false,进行了严格比较 if(0 !== false) 成立,所以输出”qinjianbo 包含 qin”。
怎么样,找到需要注意的地方了吧!~以后使用strpos 可一定要加 !== false 来进行判断哦!~
阅读全文
0 0
- 关于strpos 函数,你应该注意什么?
- 从需求到界面你应该注意什么
- 关于Windows 10,你需要注意什么?
- 胃痛应该注意什么
- 癫痫病应该注意什么
- 租房应该注意什么?
- 关于strpos函数的一些疑问
- strpos()函数
- 关于虚函数,你应该知道的
- 数据库设计应该注意什么?
- 新站做SEO应该注意什么
- 刚入职场应该注意什么(转载)
- 治疗牛皮癣应该注意什么
- strpos() 函数 stripos() 函数
- php strpos注意的地方
- 这里你应该使用什么?
- 你应该学些什么
- PHP strpos() 函数
- IDEA使用小结
- Python的Flask入门
- scheduleAtFixedRate和scheduleWithFixedDelay区别
- B
- C语言基础(五)变量
- 关于strpos 函数,你应该注意什么?
- 最近的一些感受
- haproxy
- Android将Bitmap类型转化为file类型
- C 语言实现多态和继承
- [POJ]2774 最长公共子串
- SurfaceView模版
- Hibernate中的order by子句
- Tensorflow学习——猫狗大战