判斷方法: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影片教學》
以上是php怎麼判斷指定字元是否在字串中的詳細內容。更多資訊請關注PHP中文網其他相關文章!