php判断一个字符串是否包含另一个字符串
展开阅读全文

php判断一个字符串是否在另一个字符串里面

最简单的就是:(用这种最好,StrPos效率最高)

strpos($a, $b) !== false 如果$a 中存在 $b,则为 true ,否则为 false。

用 !== false (或者 === false) 的原因是如果 $b 正好位于$a的开始部分,那么该函数会返回int(0),那么0是false,但$b确实位于$a中,所以要用 !== 判断一下类型,要确保是严格的 false。

示例:

<?php
echo strpos("You love php, I love php too!","php");
?>

输出9

其它的还有 PHP 原生支持的函数,如 strstr(),stristr() 等,直接判断就可以了。

1:strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含

代码如下:

<?php   
/*如手册上的举例*/
$email = 'user@ceshi.cc';
$domain = strstr($email, '@');
echo $domain; 
// prints @ceshi.cc
?> 

2:stristr: 它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.

3:strpos: 返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.

PHP判断字符串的包含代码如下:

$str= 'abc';   
$needle= 'a';   
$pos = strpos($str, $needle);  
  1. 用explode进行判断
function checkstr($str){   
  $needle = "a";//判断是否包含a这个字符   
  $tmparray = explode($needle,$str);   
  if(count($tmparray)>1){   
      return true;   
   } else{   
     return false;   
  }   
}