第一:strpos() 函数查找字符串在另一字符串中第一次出现的位置。(区分大小写),找到了就证明存在
第二:stripos() 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写),同样匹配到了就证明存在
第三:strstr() 函数搜索字符串在另一字符串中的第一次出现。(区分大小写)等等,PHP内置函数挺多的,你可以查找看下记住。
我们经常会用到strstr这个函数来判断某个字符串是否在另外一个字符串里面,如下
$str=“test@163.com”;
$a=163;
echo strstr($str,$a)
//false
是不是瞬间懵逼!
明明存在的啊,原来虽然php是弱语言,但是当用strstr判断时也要保证对比的两个对象是字符串,而上面的变量a是数字,所以返回false
修改如下
$str=“test@163.com”;
$a=163;
echo strstr($str,(string)$a)
将变量a强制转为字符串,结果就是我们想要的了。
你学废了吗0.0
先看下我们的代码,如图,定义了一个字符串,然后调用php的strpos方法。
result1 = strpos(str, 'sougou')// 查找字符sougou在字符串出现的位置。
result2 = strpos(str, 'sohu')// 查找字符sohu在字符串出现的位置。
如果查找的字符不在字符串里,即字符串不包含查找的字符,strpos方法就会返回 false.
02
然后是一些输出代码,输出显示我们的结果
03
运行代码,看下我们的结果,如图,字符串里有包含sougou和sohu啊,为什么结果都显示不包含的?
04
原来字符串的开始位置是从0开始的,而不是从1开始。0也相当于是false了,我们修改下代码,判断代码里,加多一个等号(=),即是真正的false才是没找到字符串。
05
再次运行代码,结果如图,sougou字符是有查找到了,sohu还是没有。
06
原来strpos方法是区分大小写的,字符串里的sohu是大写的S,所以结果是没有找到这个sohu的字符串。怎么修改?我们可以用另一个方法stripos,这个方法是不区分大小的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)