欢迎访问宙启技术站
智能推送

PHP函数:substr()用法及示例

发布时间:2023-07-06 12:40:05

PHP函数substr()用于从字符串中返回指定长度的子字符串,语法如下:

substr(string $string, int $start, ?int $length = null): string|false

参数说明:

- string: 必需,要截取的字符串。

- start: 必需,指定截取的起始位置。如果为正数,则从字符串的开始位置开始计算。如果为负数,则从字符串末尾指定位置开始计算。

- length: 可选,指定截取的长度。如果省略,则截取到字符串的末尾。如果为负数,则从字符串的末尾指定位置开始计算。

返回值:

substr()函数返回截取得到的子字符串,如果截取失败,则返回false。

示例:

1. 截取指定长度的子字符串:

$str = "Hello World!";
$newStr = substr($str, 0, 5);
// 输出:Hello

2. 截取从指定位置开始的子字符串:

$str = "Hello World!";
$newStr = substr($str, 6);
// 输出:World!

这个例子中,从字符串的第7个字符开始截取。

3. 从字符串末尾截取指定长度的子字符串:

$str = "Hello World!";
$newStr = substr($str, -6);
// 输出:World!

这个例子中,从字符串末尾开始截取6个字符。

4. 从指定位置开始截取指定长度的子字符串:

$str = "Hello World!";
$newStr = substr($str, 6, 5);
// 输出:World

这个例子中,从字符串的第7个字符开始截取5个字符。

5. 截取多个子字符串:

$str = "Hello World!";
$newStr1 = substr($str, 0, 5);
$newStr2 = substr($str, 6);
$newStr3 = substr($str, -6);
$newStr4 = substr($str, 6, 5);
// $newStr1输出:Hello
// $newStr2输出:World!
// $newStr3输出:World!
// $newStr4输出:World

这个例子中,根据不同的需求,截取了多个子字符串。

需要注意的是,substr()函数对于多字节字符(如中文)的处理可能存在问题,因为它操作的是字符串的字节,而不是字符。如果需要处理多字节字符,可以使用mb_substr()函数来替代。