php怎麼查詢字串以什麼開頭

2022-08-04 14:00:27

兩種實現方法:1、使用substr()函數查詢頭部字元,只需要將該函數的第二個引數設定為0,第三個引數設定為N即可獲取字串開頭N個字元,語法「substr(字串,0,N)」。2、使用mb_substr()函數查詢頭部字元,只需要將該函數的第二個引數設定為0,第三個引數設定為N即可獲取字串開頭N個字元,語法「mb_substr(字串,0,N,字元編碼)」。

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

php查詢字串以什麼開頭,就是查詢字串頭部的字元(子串)是什麼。我們可以通過獲取頭部字元來實現。

方法1:使用substr()查詢(獲取)頭部字元

substr() 函數可以從字串的指定位置擷取一定長度的字元。

substr(string,start,length)
引數描述
string必需。規定要返回其中一部分的字串。
start必需。規定在字串的何處開始。
  • 正數 - 在字串的指定位置開始
  • 負數 - 在從字串結尾的指定位置開始
  • 0 - 在字串中的第一個字元處開始
length可選。規定要返回的字串長度。預設是直到字串的結尾。
  • 正數 - 從 start 引數所在的位置返回
  • 負數 - 從字串末端返回

只需要將該函數的第二個引數設定為0,第三個引數設定為N即可獲取字串開頭N個字元。

<?php
header('content-type:text/html;charset=utf-8');   
$str="Hello world";
echo "原字串:".$str."<br>";
echo "開頭的1個字元:".substr($str,0,1)."<br>";
echo "開頭的2個字元:".substr($str,0,2)."<br>";
echo "開頭的3個字元:".substr($str,0,3)."<br>";
?>

1.png

注:substr() 函數對英文的處理是沒有任何問題的,但是在開發中我們往往是處理中文 字元比較多,substr() 函數雖然也能處理中文,但是不是很完美。

<?php
header('content-type:text/html;charset=utf-8');   
$str="歡迎來到PHP中文網";
echo "原字串:".$str."<br>";
echo "開頭的1個字元:".substr($str,0,1)."<br>";
echo "開頭的2個字元:".substr($str,0,2)."<br>";
echo "開頭的3個字元:".substr($str,0,3)."<br>";
?>

2.png

在substr()函數中,一個 GB2312 編碼的漢字佔兩個字元長度,一個 UTF-8 編碼的 漢字佔三個字元長度。

那麼怎麼擷取中文字元呢?可以使用mb_substr()函數。

方法2:使用mb_substr()函數查詢(獲取)頭部字元

mb_substr() 函數可以從一個字串中擷取指定的一部分,與 substr() 函數不同的是, mb_substr() 函數不僅對英文字元有效,對中文字元同樣有效。

mb_substr(string,start,length,encoding)
  • string、start、length:和substr() 函數三個引數的作用一樣,可參考。

  • encoding:是可選引數,用於設定字元編碼;如果省略,則使用內部字元編碼。

只需要將該函數的第二個引數設定為0,第三個引數設定為N即可獲取字串開頭N個字元。

<?php
header('content-type:text/html;charset=utf-8');   
$str="歡迎來到PHP中文網";
echo "原字串:".$str."<br>";
echo "開頭的1個字元:".mb_substr($str,0,1,"utf-

8")."<br>";
echo "開頭的2個字元:".mb_substr($str,0,2,"utf-

8")."<br>";
?>

3.png

推薦學習:《》

以上就是php怎麼查詢字串以什麼開頭的詳細內容,更多請關注TW511.COM其它相關文章!