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

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

WBOY
WBOYOriginal
2016-06-02 09:13:511329browse

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 来判断,这是极其不正确的.


文章地址:

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn