當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP String substr()用法及代碼示例


substr() 是 PHP 的 內置 函數,用於提取字符串的一部分。 substr() 函數返回由 start 和 length 參數指定的字符串的一部分。 PHP 4 及以上版本支持此函數。

用法

substr() 函數的語法如下。它包含三個參數,其中兩個是必需的,一個是可選的。

substr( $string, $start, $length )

參數

$string (required) - 主要的字符串參數,指定需要剪切或修改的字符串。這是該函數的強製參數。它指定必須是一個字符或更長的輸入字符串。

$start(必需) - 這也是此函數的強製參數,如 $string。它指定從哪裏開始提取字符串。該參數包含一個整數值,它具有三個條件:

  • 如果 $start 為正值,則返回的字符串將從 $start 開始th字符串中的位置,並從零開始計數。
  • 如果 $start 為負值,則返回的字符串將從 $start 開始th字符串末尾的字符。在這種情況下,計數從 -1 開始,而不是從字符串末尾的零開始。
  • 如果 $string 大小小於 $start 值,則它將返回 FALSE。

$length (optional) - 這是這個函數的整數類型和可選參數。此參數具有要從主字符串切割的字符串的長度。它具有以下條件:

  • 如果 $length 為正數,則返回的字符串將包含從 $start 開始的 $length 參數中傳遞的字符數。
  • 如果 $length 為負數,則它從 $start 位置開始並從字符串的末尾提取長度。如果 $length 參數中傳遞的值為負數,則字符串末尾的許多字符將被省略。
  • 如果 $length 參數中傳遞的值為零、FALSE 或 NULL,則將返回一個空字符串(參見示例 3)。
  • 如果沒有傳遞 $length 參數,那麽 substr() 函數將返回一個字符串,從 $start 開始到字符串的結尾。

返回值

substr() 函數在成功執行時返回字符串的提取部分。否則,它在失敗時返回 FALSE 或空字符串。

變更日誌

  • 在 PHP 7.0.0 中,如果 $string 等於 $start,則 substr() 函數返回一個空字符串。在此版本之前,在這種情況下返回 FALSE。
  • 在 PHP 5.2.2 - PHP 5.2.6 中,如果 $start 參數指示負截斷或超出的位置,則返回 FALSE,而其他版本從 $start 獲取字符串。

例子

給出了一些示例,通過這些示例,我們可以了解 substr() 函數的工作原理。讓我們看看下麵的例子——

例子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 in $start
	echo substr("Hello javaTpoint", -4). "</br>";
	echo substr("Hello javaTpoint", -10). "</br>";
echo substr("Hello javaTpoint", -16). "</br>";
?>

輸出:

上述程序的輸出如下。

lo javaTpoint
Hello javaTpoint
aTpoint
oint
JavaTpoint
Hello javaTpoint

例子2

<?php
	//By passing both $start and $length 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>";
?>

輸出:

上述程序的輸出如下。

lo javaT
Hello jav
javaTp
o jav

Tpoin

例子3

<?php
	//By passing zero in $length parameter
	echo substr("Hello javaTpoint", 7, 0). "</br>";
?>

輸出:

當 $length 中傳遞零或 Null 值時,substr() 函數將返回一個空字符串。

No output






相關用法


注:本文由純淨天空篩選整理自 PHP String substr() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。