【PHP】字符串-抽取子串


問題

希望從字符串的某個特定位置開始抽取這個字符串的一部分。例如,對於輸入到一個表單的用戶名,想要得到這個用戶名的前8個字符。

解決

使用substr()選擇子串

$substring = substr($string,$start,$length);
$username = substr($_GET['username'],0,8);

討論

1.如果$strart$length都是正數,substr()會返回字符串從$start開始的$lenfth個字符。字符的第一個位置為0

echo substr('I Love PHP!',3,5);
ove P
  • 如果忽略$length,substr()會返回從$strart到原字符串末尾的子串。

起始位置為正數,未指定長度

echo substr('I Love PHP!',3);
ove PHP!
  • 如果$start大於字符串的長度,substr()將會返回false
  • 如果$start$length 超過了字符串末尾,substr()將返回從$start開始到字符串末尾的所有字符
echo substr('I Love PHP!',3,9);
ove PHP!
  1. 如果 $start 為負數, substr() 會從字符串末尾倒數來確定子串從哪里開始
echo substr('I Love PHP!',-4);
PHP!
echo substr('I Love PHP!',-4,3);
PHP
  • 如果 $start 值為負數,而且超過了字符串的開始位置, substr() 就會把 $start 當作 0 來處理

  • 如果 $length 為負數, substr() 會從字符串末尾倒數來確定到哪里結束

echo substr('I Love PHP!',3,-1);
Love PHP
echo substr('I Love PHP!',-4,-2);
PH

參見

substr() 的有關文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM