Maison >php教程 >php手册 >php判断字符串是否包含另一个字符串例子

php判断字符串是否包含另一个字符串例子

WBOY
WBOYoriginal
2016-06-02 09:13:511327parcourir

php判断字符串是否包含另一个字符串的实现方法有许多的办法,像我们在网上一搜索可看到大量关于字符是否包含指定字符的方法,下面我把这些实用的例子整理一起与大家分享.

例子,explode代码如下:

function checkstr($str){
   $needle = "b";//判断是否包含a这个字符  
   $tmparray = explode($needle,$str);  
   if(count($tmparray)>1){  
       return true;  
   }else{  
       return false;  
   }  
}

原理非常的简单:就是以我们要查找的字符为定界,然后我们再利用explode分成函数,如果分切成功之后并且数组长度大于1那不代码是存在你要找到字符了,否则就没有了,这个只适用于判断字符串中是否存在字符,更多深一层就无法操作了.

例子,strpos()

strpos() 函数返回字符串在另一个字符串中第一次出现的位置,代码如下:

<?php 
   $attach=&#39;omr/online/php/img/news/&#39;; 
   //注意要用 !== 
   //查找的字符串在第一个位置返回是0 
   if (strpos($attach, &#39;omr/online&#39;) !== false) { 
//如果包含omr/online 
   }

例子,strstr()

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现,代码如下:

<?php 
   $attach=&#39;omr/online/php/img/news/&#39;; 
   //注意要用 !== 
   //返回字符串的其余部分(从匹配点) 
   if (strstr($attach, &#39;omr/online&#39;) !== false) { 
//如果包含omr/online 
   }

总结:我觉得最简单的就是这种了 strpos($a, $b) !== false 如果$a 中存在 $b,则为 true,否则为 false.

用 !== false,或者 === false的原因是如果 $b 正好位于$a的开始部分,那么该函数会返回int(0),那么0是false,但$b确实位于$a中,所以要用 !== 判断一下类型,要确保是严格的 false,昨天晚上去中关村图书大厦,看到一本书中用的是 strpos === true 来判断,这是极其不正确的.


文章地址:

转载随意^^请带上本文地址!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn