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

PHP函数:substr()-从字符串中返回指定长度的子字符串

发布时间:2023-06-16 14:53:02

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

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

其中,$string表示要操作的字符串,$start表示从哪里开始截取,$length表示截取的长度。$start和$length都是可选参数,但要注意,如果不指定$length,那么从$start处开始截取到字符串末尾。

下面我们分别介绍下substr()函数的使用方法:

1. 基本用法

基本用法很简单,只需要传入要截取的字符串和起始位置即可。例如,要从字符串“hello world”中截取“world”这个子字符串,代码如下:

$str = 'hello world';

echo substr($str, 6); //输出: world

这里的起始位置为6,表示从第7个字符开始截取。

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

除了指定起始位置外,我们还可以指定要截取的长度。例如,要截取字符串“hello world”中的前5个字符,代码如下:

$str = 'hello world';

echo substr($str, 0, 5); //输出: hello

这里的第三个参数指定的是截取的长度,为5。

3. 截取字符串末尾的一部分

有时候,我们需要从字符串末尾开始截取一部分字符,可以将起始位置设置为负数。例如,要截取字符串“hello world”中的“world”这个子字符串,代码如下:

$str = 'hello world';

echo substr($str, -5); //输出: world

这里的起始位置为-5,表示从字符串末尾开始的第5个字符开始截取。

4. 截取字符串中间的一部分

如果要截取字符串中间的一部分,可以结合使用起始位置和长度两个参数。例如,要截取字符串“hello world”中的“lo w”这个子字符串,代码如下:

$str = 'hello world';

echo substr($str, 3, 3).substr($str, 6, 2); //输出: lo w

这里的起始位置为3,长度为3,表示从第4个字符开始截取,截取3个字符;接着,从第7个字符开始截取,截取2个字符。

需要注意的是,如果要从字符串中间截取的话,建议先使用strlen()函数获取字符串长度,然后再通过计算得到合适的起始位置和长度。

5. 截取多个子字符串

如果要截取多个子字符串,可以使用数组和循环。例如,要截取字符串“hello world”中的“hello”和“world”两个子字符串,代码如下:

$str = 'hello world';

$positions = [0, 6];

$lengths = [5, 5];

for ($i = 0; $i < count($positions); $i++) {

    echo substr($str, $positions[$i], $lengths[$i])."

";

}

这里的$positions数组表示起始位置,$lengths数组表示截取的长度。循环遍历两个数组,每次截取完毕后换行输出。

总结

substr()函数可以方便地从一个字符串中截取指定长度的子字符串。它非常的灵活,可以结合使用起始位置和长度两个参数,实现任意位置和长度的截取。