PHP怎么判断字符串是不是包含指定字符?-LMLPHP

PHP判断字符串是不是包含指定字符的方法

1、strstr

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。

该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。

代码如下:

<?php
 /*如手册上的举例*/
 $email = 'user@example.com';
 $domain = strstr($email, '@');
 echo $domain;
 // prints @example.com
?>
登录后复制

2、strpos

strpos函数返回boolean值;FALSE和TRUE不用多说,用 “===”进行判断。

strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好。

实例1

if(strpos('www.php.cn','php') !== false){ 
 echo '包含php'; 
}else{
 echo '不包含php'; 
}
登录后复制

实例2

$str= 'abc';
$needle= 'a';
$pos = strpos($str, $needle); // 返回第一次找到改字符串的位置,这里返回为1,若查不到则返回False
登录后复制

3、explode

用explode进行判断PHP判断字符串的包含代码如下:

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

4、substr_count统计“子字符串”在“原始字符串中出现的次数”

substr_count()函数本是一个小字符串在一个大字符串中出现的次数:

$number = substr_count(big_string, small_string);
登录后复制

正好今天需要一个查找字符串的函数,要实现判断字符串big_string是否包含字符串small_string,返回true或fasle;

查了半天手册没有找到现成的函数,于是想到可以用substr_count函数来实现代码如下:

function check_str($str, $substr)
{
 $nums=substr_count($str,$substr);
 if ($nums>=1)
 {
  return true;
 }
 else
 {
  return false;
 }
}
登录后复制

更多相关知识,请访问 Work网!!

09-18 13:20