substr()
在一段字串中,擷取指定的位置以及指定的長度。
使用方式:
substr ( 字串, 起始位置, 長度 )
字串:在第一個值為輸入一個原始的字串。
起始位置:設定要開始擷取的位置,也就是從頭開始計算第幾位數。
長度:要擷取多少的長度
起始位置 與 長度 必須要是整數值,其中長度可以是正數或是負數,如果設定為負數則代表說擷取至該字串的倒數第幾個位數。
當只有設定 起始位置 且沒有設定 長度 時,會擷取該位置以後的所有字串,例如:
$text = "RicharLin"; echo substr($text, 3); //輸出 harLin echo substr($text, -3); //輸出 Lin (由倒數第三位數開始擷取)
當 起始位置 與 長度 都有設定時,若長度為負數則代表長度擷取到字串結束前第n位,例如:
$text = "RicharLin"; echo substr($text, 0); //輸出 RicharLin echo substr($text, 0, 6); //輸出 Richar echo substr($text, 0, -3); //輸出 Richar echo substr($text, 4); //輸出 arLin echo substr($text, 4, 2); //輸出 ar (由第四位起,擷取兩位數) echo substr($text, 4, -3); //輸出 ar (由第四位起,擷取至字串結尾前三位數) echo substr($text, -7); //輸出 charLin (由倒數第七位起擷取全部) echo substr($text, -7, 4); //輸出 char (由倒數第七位起擷取四位數) echo substr($text, -7, -3); //輸出 char (由倒數第七位起擷取至倒數第三位);
實際使用範例:
情境:多筆資訊必須存在同一個字串之中。
例如:「座號_性別」
$Array_Data = array("001_F","002_F","003_M","004_M","005_F"); for($i=0;$i<count($Array_Data);$i++){ $number = substr($Array_Data[$i], 0, 3); $gender = substr($Array_Data[$i], -1); echo "座號:".$number." / 性別:".$gender." <BR>"; }
輸出結果為:
座號:001 / 性別:F 座號:002 / 性別:F 座號:003 / 性別:M 座號:004 / 性別:M 座號:005 / 性別:F
更多 PHP 相關文章 列表:https://richarlin.tw/blog/php/
Pingback: PHP 文章列表 - RicharLin.Tw