php中 如何验证一个字符串中是否存在某个字符串

php中 如何验证一个字符串中是否存在某个字符串,第1张

php自带的函数可以使用:

第一: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,这个方法是不区分大小的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7320288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存