在PHP中,`substr()`函数用于从一个字符串中提取子字符串。该函数接受三个参数:原始字符串、起始位置和可选的长度。以下是`substr()`函数的语法:
```php
substr(string $string, int $start, ?int $length = null): string|false
```
参数说明:
* `$string`:要提取子字符串的原始字符串。
* `$start`:提取子字符串的起始位置。第一个字符的位置是0。如果起始位置是负数,则从字符串的末尾开始计算位置。例如,-1表示从最后一个字符开始提取。
* `$length`(可选):可选参数,指定要提取的子字符串的长度。如果未提供该参数或设置为`null`,则从起始位置提取到字符串的末尾。
返回值:
* 如果成功提取子字符串,则返回提取的子字符串。
* 如果起始位置超出字符串长度或发生其他错误,则返回`false`。
下面是一个使用`substr()`函数的示例:
```php
$str = "Hello, World!";
$substring = substr($str, 7, 5); // 从第8个字符开始提取长度为5的子字符串
echo $substring; // 输出 "World"
```
请注意,在处理多字节字符(如UTF-8编码的字符串)时,使用`substr()`函数可能会出现预期外的结果,因为它按字节而不是按字符进行截取。如果需要按字符截取多字节字符,可以使用其他函数或结合其他方法来实现。