当前位置: 首页> 最新文章列表> 详解PHP substr()函数:字符串截取实用指南与示例代码

详解PHP substr()函数:字符串截取实用指南与示例代码

gitbox 2025-08-02

什么是substr()函数

PHP中的substr()函数用于从一个字符串中提取指定的子字符串。它需要传入三个参数:原字符串、起始位置和截取长度,最终返回截取后的字符串。

substr()函数的语法

<span class="fun">substr(string $string, int $start, int|null $length = null): string</span>

参数说明:

string:必需,表示要处理的字符串。

start:必需,子字符串的起始位置。正数表示从字符串开头算起,负数表示从字符串末尾开始算起。

length:可选,表示截取的长度。如果不传该参数,则返回从起始位置到字符串末尾的所有字符。

substr()函数的使用示例

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

示例中,我们从字符串$str的第0个位置开始截取5个字符,结果为“Hello”。

substr()函数的返回值

该函数返回截取后的字符串片段,是从原字符串指定位置提取出来的一部分。

substr()函数的注意事项

当起始位置为负数时,substr()函数会从字符串末尾向前计算。例如:

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

如果起始位置超过字符串长度,则返回空字符串:

$str = "Hello, World!";
$subStr = substr($str, 20);
echo $subStr;  // 输出 ""

substr()函数的应用场景

substr()在实际开发中用途广泛,比如提取文件扩展名、截取URL中的部分内容等。例如,获取文件扩展名:

$fileName = "example.txt";
$extension = substr($fileName, strrpos($fileName, '.') + 1);
echo $extension;  // 输出 "txt"

示例中,先通过strrpos()找到最后一个点号的位置,再用substr()提取扩展名。

总结

substr()函数是PHP中常用的字符串处理函数,可灵活截取字符串的任意部分。使用时需要注意起始位置的正负含义和截取长度的设定。对于包含多字节字符的字符串,建议使用支持多字节的mb_substr()函数以避免截取错误。