PHP String substr() 函數
substr() 是 PHP 的內置函數,用于提取字符串的一部分。愛掏網 - it200.comsubstr() 函數返回由起始位置和長度參數指定的字符串部分。愛掏網 - it200.com PHP 4 及以上版本支持該函數。愛掏網 - it200.com
substr() 函數的語法如下所示。愛掏網 - it200.com它包含三個參數,其中兩個是必需的,一個是可選的。愛掏網 - it200.com
substr( string,start, $length )
參數
$string (必需) – 這是主字符串參數,指定需要截取或修改的字符串。愛掏網 - it200.com這是該函數的必選參數。愛掏網 - it200.com它指定輸入的字符串,必須是一個或多個字符。愛掏網 - it200.com
$start (必需) – 這也是該函數的必選參數,就像$string
一樣。愛掏網 - it200.com它指定從字符串中的哪個位置開始提取。愛掏網 - it200.com該參數包含一個整數值,有三個條件:
- 如果
$start
具有 正值 ,則返回的字符串將從$startth
位置開始,從零開始計數。愛掏網 - it200.com - 如果
$start
具有 負值 ,則返回的字符串將從字符串末尾的$startth
字符開始。愛掏網 - it200.com在這種情況下,計數從字符串末尾的-1開始而不是從零開始。愛掏網 - it200.com - 如果
$string
的大小小于$start
值,則會返回FALSE。愛掏網 - it200.com$length (可選) – 這是一個整數類型的可選參數。愛掏網 - it200.com該參數指定要從主字符串中截取的字符串的長度。愛掏網 - it200.com它有以下條件:
-
如果$length為 正數 ,則返回的字符串將包含以
$length
參數傳遞的字符數,從$start
開始。愛掏網 - it200.com - 如果$length為 負數 ,則從
$start
位置開始,并從字符串末尾提取長度。愛掏網 - it200.com如果$length
參數中傳遞的值為負數,則從字符串末尾省略多個字符。愛掏網 - it200.com - 如果$length參數的值為 零 、 FALSE 或 NULL ,則返回空字符串(參見示例3)。愛掏網 - it200.com
- 如果未傳遞
$length
參數,則substr()函數將返回從$start
開始直到字符串末尾的字符串。愛掏網 - it200.com
返回值
substr()函數在成功執行時返回字符串的提取部分。愛掏網 - it200.com否則,在失敗時返回FALSE或空字符串。愛掏網 - it200.com
更新日志
- 在PHP 7.0.0中,如果
$string
等于$start
,則substr()函數返回一個空字符串。愛掏網 - it200.com在此版本之前,這種情況下返回FALSE。愛掏網 - it200.com - 在PHP 5.2.2至PHP 5.2.6中,如果$start參數指示負截斷位置或超出范圍,則返回FALSE,而其他版本則從
$start
獲取字符串。愛掏網 - it200.com
示例
以下是一些示例,通過這些示例可以了解substr()函數的工作原理。愛掏網 - it200.com讓我們看下面的示例-
示例1
<?php
//Positive value passed in start
echo substr("Hello javaTpoint", 3). "</br>";
echo substr("Hello javaTpoint", 0). "</br>";
echo substr("Hello javaTpoint", 9). "</br>";
//Negative value passed instart
echo substr("Hello javaTpoint", -4). "</br>";
echo substr("Hello javaTpoint", -10). "</br>";
echo substr("Hello javaTpoint", -16). "</br>";
?>
輸出:
上述程序的輸出如下所示。愛掏網 - it200.com
lo javaTpoint
Hello javaTpoint
aTpoint
oint
JavaTpoint
Hello javaTpoint
示例2
<?php
//By passing both start andlength parameter
echo substr("Hello javaTpoint", 3, 8). "</br>";
echo substr("Hello javaTpoint", 0, 9). "</br>";
echo substr("Hello javaTpoint", 6, -4). "</br>";
echo substr("Hello javaTpoint", 4, -7). "</br>";
echo substr("Hello javaTpoint", -6, -1). "</br>";
echo substr("Hello javaTpoint", -6, -10). "</br>";
?>
輸出:
上述程序的輸出如下。愛掏網 - it200.com
lo javaT
Hello jav
javaTp
o jav
Tpoin
示例3
<?php
//By passing zero in $length parameter
echo substr("Hello javaTpoint", 7, 0). "</br>";
?>
當$length
參數傳入0或者Null值時,substr()函數會返回一個空字符串。愛掏網 - it200.com
No output