原型:string substr ( string $string , int $start [, int $length ] ),它可以用於在一個較長的字串中尋找匹配的字串或字元。$string為所要處理的字串,$start為開始選取的位置,$length為要選取的長度(當它是負數時為負數時表示右起數起的位置)。
例:
<?php
$rest1 = substr("abcdef", 0, 0); // returns ""
$rest2 = substr("abcdef", 0, 2); // returns "ab"
$rest3 = substr("abcdef", 0, -1); // returns "abcde"
$rest4 = substr("abcdef", 2,0); // returns ""
$rest5 = substr("abcdef", 2,2); // returns "cd"
$rest6 = substr("abcdef", 2, -1); // returns "cde"
$rest7 = substr("abcdef", -2,0); // returns ""
$rest8 = substr("abcdef", -2,2); // returns "ef"
$rest9 = substr("abcdef", -3,-1); // returns "de"
?>
$start如果為非負數,在字串中以0為開頭從左向右開始記數,[url=http://www.caoliushequ8.cn]草榴社區[/url]即0代表字元"a",1則代表字元"b",以此類推。如果是負數,在字串中以1為開頭從右向左開始記數,即-1代表字元"f",-2代表字元"e",同理也可以此類推。
當$length為正數時表示個數,為負數時表示右起數起的位置。
該函數在使用中有時也省略 $length,這個時候如果只用一個正數作為子字串起點,將得到從起點到字串結束的整個字串。如果只用一個負數作為子字串起點,將得到一個原字串尾部的一個子字串(也即字元個數等於該負數的絕對值)。其實原理和上述不省略$length時一樣,只是不用再去判斷所取字元的個數,單去判斷起始位置就OK。
例:
<?php
$rest1 = substr("abcdef", 2); // returns "cdef"
$rest2 = substr("abcdef", -2); // returns "ef"
?>