论strpos 的正确使用方式
来源:互联网 发布:淘宝客链接怎么看 编辑:程序博客网 时间:2024/04/30 08:13
首先简单介绍下strpos函数;
strpos函数是查找某个字符在字符串中的位置;这里需要明确这个函数的作用;
这个函数得到的是位置;如果存在;返回数字;否则返回的是false;
而很多时候我们拿这个函数用来判断字符串中是否存在某个字符;
一些同学使用的姿势是这样的;
// 判断‘白俊遥博客’中是否存在‘博客’这个词if (strpos('白俊遥博客', '博客')) { // 如果存在执行此处代码 echo '存在';}else{ // 如果不存在执行此处代码 echo '不存在';}
这段代码输出的是'存在';没什么问题;但是再看下面这段代码;
// 判断‘白俊遥博客’中是否存在‘白’这个字if (strpos('白俊遥博客', '白')) { // 如果存在执行此处代码 echo '存在';}else{ // 如果不存在执行此处代码 echo '不存在';}
输出了'不存在';原因是因为 '白' 在 '白俊遥博客' 中的第0个位置;而0在if中表示了false;
所以;如果用strpos来判断字符串中是否存在某个字符时必须使用===false 、必须使用===false 、必须使用===false
重要的事情说三遍;正确的使用方式如下;
// 判断‘白俊遥博客’中是否存在‘博客’这个词if (strpos('白俊遥博客', '博客')===false) { // 如果不存在执行此处代码 echo '不存在';}else{ // 如果存在执行此处代码 echo '存在';}
你以为用上了===你就得到了strpos的整个世界?no;no;no;
这家伙还有个隐藏坑;我来换个词;
// 判断‘白俊遥博客1’中是否存在‘1’这个数字if (strpos('白俊遥博客1', 1)===false) { // 如果不存在执行此处代码 echo '不存在';}else{ // 如果存在执行此处代码 echo '存在';}
如果你脑算出来的上面这段代码输出的是‘存在’;
那你这完全没跟上我的套路啊;不是技能的问题了;
是时候为智商讨个说法了;
事实上输出的是'不存在';细心的童鞋会发现这个1 是不带引号的;
strpos的第二个参数必须是字符串型的;
因此;如果你是在循环或者其他情况下调用的strpos函数;而且不确定第二个参数的类型;
那么保险的方式是用strval把它转字符串类型了:
// 判断‘白俊遥博客1’中是否存在‘1’这个数字$haystack='白俊遥博客1';$needle=1;if (strpos($haystack, strval($needle))===false) { // 如果不存在执行此处代码 echo '不存在';}else{ // 如果存在执行此处代码 echo '存在';}
本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客http://www.baijunyao.com
0 0
- 论strpos 的正确使用方式
- volley的正确使用方式
- eclipse的正确使用方式
- Fragment的正确使用方式
- Xshell的正确使用方式
- php中strpos函数的使用
- 论「版本号」的正确使用方式
- 论「版本号」的正确使用方式
- 论「版本号」的正确使用方式
- 论啃书的正确方式
- php strpos使用示例
- PHP引号的正确使用方式介绍
- 关于urllib2.open的正确使用方式
- PHP引号的正确使用方式介绍
- PullToRefreshListView 使用 onItemLongClick 的正确打开方式
- DAY17_openssl的正确打开使用方式
- 使用SpringJDBC的正确开启方式
- Spark Accumulator的正确使用方式
- 胜利一中高一年级课件分享
- 手机开发实战16——GPRS APN介绍
- 各分辨率图片生成神器
- 下载年鉴的网站
- 深入理解trace.tracebegin
- 论strpos 的正确使用方式
- Celery(一)---------使用Celery的第一步
- 第10、11周项目2 存储班长信息的学生类(2)
- 手机开发实战17——CSD与GPRS的比较
- 如何自学Android
- java获取当前日期是星期几
- Mainfest.xml文件的初步解析
- 今年暑假不ac
- uva10816 Travel in Desert(MST + 最短路)