判断方法:1、用strpos(),如果指定字符存在,则返回第一次出现的位置;如果没有找到,则返回 FALSE。2、用strrpos(),如果指定字符存在,则返回最后一次出现的位置;如果没有找到,则返回 FALSE。3、用stripos(),如果在则返回第一次出现的位置。4、用strripos(),如果在则返回最后一次出现位置。5、用explode(),如果返回的数组不为空则在。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php检测字符串中是否包含另一个字符串

方法1:利用strpos()函数检测

strpos() 函数可以查找字符串在另一字符串中第一次出现的位置(区分大小写)。

如果指定字符存在,则返回第一次出现的位置;如果没有找到,则返回 FALSE。

注释: 字符串位置从 0 开始,不是从 1 开始。

示例:

<?php
header('content-type:text/html;charset=utf-8');   
$findme1 = 'y';
$findme2 = 'Y';
$mystring = 'xyz';
$pos1 = strpos($mystring, $findme1);
$pos2 = strpos($mystring, $findme2);
var_dump($pos1);
var_dump($pos2);
if($pos1){
	echo $mystring." 中包含指定字符 $findme1 <br>";
}else{
	echo $mystring." 中不包含指定字符 $findme1 <br>";
}
if($pos2){
	echo $mystring." 包含指定字符 $findme2 <br>";
}else{
	echo $mystring." 不包含指定字符 $findme2 <br>";
}
?>

1.png

方法2:利用strrpos()函数检测

strrpos() 函数可以查找字符串在另一字符串中最后一次出现的位置(区分大小写)。

如果指定字符存在,则返回最后一次出现的位置;如果没有找到,则返回 FALSE。

示例:

<?php
header('content-type:text/html;charset=utf-8');   
$findme1 = 'C';
$findme2 = 'c';
$mystring = 'ABC';
$pos1 = strrpos($mystring, $findme1);
$pos2 = strrpos($mystring, $findme2);
var_dump($pos1);
var_dump($pos2);
if($pos1){
	echo $mystring." 中包含指定字符 $findme1 <br>";
}else{
	echo $mystring." 中不包含指定字符 $findme1 <br>";
}
if($pos2){
	echo $mystring." 包含指定字符 $findme2 <br>";
}else{
	echo $mystring." 不包含指定字符 $findme2 <br>";
}
?>

2.png

方法3:使用stripos()函数

stripos()函数可以查找字符串在另一字符串中第一次出现的位置(不区分大小写)。

如果指定字符存在,则返回第一次出现的位置;如果没有找到,则返回 FALSE。

<?php
header('content-type:text/html;charset=utf-8');   
$findme1 = 'y';
$findme2 = 'Y';
$mystring = 'xyz';
$pos1 = stripos($mystring, $findme1);
$pos2 = stripos($mystring, $findme2);
var_dump($pos1);
var_dump($pos2);
if($pos1){
	echo $mystring." 中包含指定字符 $findme1 <br>";
}else{
	echo $mystring." 中不包含指定字符 $findme1 <br>";
}
if($pos2){
	echo $mystring." 包含指定字符 $findme2 <br>";
}else{
	echo $mystring." 不包含指定字符 $findme2 <br>";
}
?>

3.png

方法4:使用strripos()函数检测

strripos()函数可以查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。

如果指定字符存在,则返回最后一次出现的位置;如果没有找到,则返回 FALSE。

<?php
header('content-type:text/html;charset=utf-8');   
$findme1 = 'C';
$findme2 = 'c';
$mystring = 'ABC';
$pos1 = strripos($mystring, $findme1);
$pos2 = strripos($mystring, $findme2);
var_dump($pos1);
var_dump($pos2);
if($pos1){
	echo $mystring." 中包含指定字符 $findme1 <br>";
}else{
	echo $mystring." 中不包含指定字符 $findme1 <br>";
}
if($pos2){
	echo $mystring." 包含指定字符 $findme2 <br>";
}else{
	echo $mystring." 不包含指定字符 $findme2 <br>";
}
?>

4.png

方法5:使用explode()函数检测

explode() 函数使用指定分割符来分割一个字符串,并返回由字符串组成的数组。

如果数组不为空数组(数组长度大于1),则包含;反之,则数组为空,进而不包含另一个字符串

<?php
header('content-type:text/html;charset=utf-8');   
$url = "001a.gif";
$str = "a";
$con = explode($str,$url);
if (count($con)>1){
	echo $url." 中包含 ".$str;
}else{
	echo $url." 中没有包含 ".$str; 
}
?>

5.png


php怎么判断指定字符是否在字符串中