判斷方法: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>";
}
?>
登入後複製
方法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>";
}
?>
登入後複製
方法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>";
}
?>
登入後複製
方法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>";
}
?>
登入後複製
方法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;
}
?>
登入後複製
推薦學習:《》
以上就是php怎麼判斷指定字元是否在字串中的詳細內容,更多請關注TW511.COM其它相關文章!