語法
substr(string, start, length)
string:目標字符串。
start:起始位置。非負數從 0 開始;負數從結尾倒數。
length:可選。正數為最大長度;負數為結尾排除字節數;0/false/null 返回空串。
實戰範例
$str = "abcdefghijklmn";
$rest = substr($str, 0); // "abcdefghijklmn"
$rest = substr($str, 1, 3); // "bcd"
$rest = substr($str, -3); // "lmn"
$rest = substr($str, -3, 2); // "lm"
$rest = substr($str, 1, -3); // "bcdefghijk"
$rest = substr($str, -7, -3); // "hijk"
echo $rest . "<br/>";
負數索引圖解
字符串: a b c d e f g h i j k l m n
索引: 0 1 2 3 4 5 6 7 8 9 10 11 12 13
負索引: -7 -6 -5 -4 -3 -2 -1
substr($str, -7, -3) 從 -7 (h) 開始,排除結尾 3 個 (l,m,n) → h i j k
注意事項
- 按字節操作,中文 UTF-8 易截半導致亂碼,請使用
mb_substr。
start 超出長度返回 false。
length 為負數時,實際長度 = strlen - |start| - |length|。