PHP中的substr()函數用於從一個字符串中提取指定的子字符串。它需要傳入三個參數:原字符串、起始位置和截取長度,最終返回截取後的字符串。
<span class="fun">substr(string $string, int $start, int|null $length = null): string</span>
參數說明:
string:必需,表示要處理的字符串。
start:必需,子字符串的起始位置。正數表示從字符串開頭算起,負數表示從字符串末尾開始算起。
length:可選,表示截取的長度。如果不傳該參數,則返回從起始位置到字符串末尾的所有字符。
$str = "Hello, World!";
$subStr = substr($str, 0, 5);
echo $subStr; // 輸出 "Hello"
示例中,我們從字符串$str的第0個位置開始截取5個字符,結果為“Hello”。
該函數返回截取後的字符串片段,是從原字符串指定位置提取出來的一部分。
當起始位置為負數時,substr()函數會從字符串末尾向前計算。例如:
$str = "Hello, World!";
$subStr = substr($str, -6);
echo $subStr; // 輸出 "World!"
如果起始位置超過字符串長度,則返回空字符串:
$str = "Hello, World!";
$subStr = substr($str, 20);
echo $subStr; // 輸出 ""
substr()在實際開發中用途廣泛,比如提取文件擴展名、截取URL中的部分內容等。例如,獲取文件擴展名:
$fileName = "example.txt";
$extension = substr($fileName, strrpos($fileName, '.') + 1);
echo $extension; // 輸出 "txt"
示例中,先通過strrpos()找到最後一個點號的位置,再用substr()提取擴展名。
substr()函數是PHP中常用的字符串處理函數,可靈活截取字符串的任意部分。使用時需要注意起始位置的正負含義和截取長度的設定。對於包含多字節字符的字符串,建議使用支持多字節的mb_substr()函數以避免截取錯誤。