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

PHP函数:substr()的用法和示例代码

发布时间:2023-06-19 04:09:00

substr() 是 PHP 中一种常用的字符串函数,该函数用于截取字符串的一部分。其原型如下:

substr ( string $string , int $start [, int $length ] ) : string

其中,

- $string:表示要截取的字符串。

- $start:表示截取字符串的起始位置,位置从 0 开始计算。当 start 为正数时,表示从字符串开头截取的起始位置。当 start 为负数时,表示从字符串结尾倒数计算的起始位置。

- $length:可选参数,表示截取的长度。当 length 为正数时,表示截取的长度。当 length 为负数时,表示从结尾处倒数计算的长度。如果 length 被省略或者大于 $string 的长度,则表示截取全部字符串。

该函数返回截取的字符串部分。

下面是一些示例代码,以便更好地理解 substr() 函数的用法。

#### 示例 1

截取字符串的一部分:

$str = "Hello World";
$substring = substr($str, 0, 5);
echo $substring;  // 输出 "Hello"

在以上代码中,使用 substr() 函数从字符串 $str 中截取了从位置 0 开始的前 5 个字符,即 "Hello"。

#### 示例 2

截取从字符串结尾开始的一部分:

$str = "Hello World";
$substring = substr($str, -5);
echo $substring;  // 输出 "World"

在以上代码中,使用 substr() 函数从字符串 $str 中截取了从尾部开始的 5 个字符,即 "World"。

#### 示例 3

截取字符串的一部分,省略第三个参数:

$str = "Hello World";
$substring = substr($str, 6);
echo $substring;  // 输出 "World"

在以上代码中,使用 substr() 函数从字符串 $str 中截取了从位置 6 开始到字符串结尾的所有字符,即 "World"。由于省略了第三个参数,所以截取的长度为从 $start 到结尾的所有字符。

#### 示例 4

用负数作为起始位置截取字符串的一部分:

$str = "Hello World";
$substring = substr($str, -5, 2);
echo $substring;  // 输出 "Wo"

在以上代码中,使用 substr() 函数从字符串 $str 中截取了从尾部开始第 5 个字符作为起始位置的字符,并截取长度为 2 的字符,即 "Wo"。

#### 示例 5

用负数作为起始位置,省略第三个参数截取字符串的一部分:

$str = "Hello World";
$substring = substr($str, -5);
echo $substring;  // 输出 "World"

在以上代码中,使用 substr() 函数从字符串 $str 中截取了从尾部开始的 5 个字符作为起始位置的字符,并且没有指定长度,所以截取的长度为从 $start 到结尾的所有字符,即 "World"。

#### 示例 6

用 substr() 函数来截取 UTF-8 编码的字符串:

$str = "你好,世界!";
$substring = substr($str, 0, 6); // 截取前面 6 个字符
echo $substring;  // 输出 “你好,”

// 截取后面 6 个字符
$substring = substr($str, -6);
echo $substring;  // 输出 ",世界!"

在以上代码中,使用 substr() 函数从字符串 $str 中截取了 UTF-8 编码的字符,即中文字符。注意,UTF-8 编码的字符每个字符占用的字节数不同,所以需要谨慎使用 substr() 函数来截取字符串。否则可能会导致乱码或者截取不完整。