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

PHP函数之substr()——获取字符串的一部分

发布时间:2023-06-16 20:20:27

substr()是PHP中用于获取字符串的一部分的一个内置函数,其语法格式为:

substr(string $string, int $start, int $length)

其中,$string表示要截取的字符串;$start表示起始位置,从0开始计数;$length表示要截取的字符串长度。

例如,要截取字符串“Hello World”中的“World”,可以这样使用substr()函数:

$string = "Hello World";

$sub = substr($string, 6, 5);

echo $sub; //输出:World

这里的$start参数是6,表示从第6个字符(即空格)开始截取;$length参数是5,表示截取5个字符。

除了这种指定起始位置和长度的方式,substr()函数还支持一些特殊的参数组合:

1.若省略$length参数,则一直截取到字符串末尾。

例如,要截取字符串“Hello World”中的“World”,可以这样使用substr()函数:

$string = "Hello World";

$sub = substr($string, 6);

echo $sub; //输出:World

这里省略了$length参数,意味着一直截取到字符串末尾。

2.若$start参数是负数,则从字符串末尾开始计数。

例如,要截取字符串“Hello World”中的“World”,可以这样使用substr()函数:

$string = "Hello World";

$sub = substr($string, -5);

echo $sub; //输出:World

这里的$start参数是-5,表示从字符串末尾的第5个字符(即“W”)开始截取;省略了$length参数,意味着一直截取到字符串末尾。

3.若$length参数是负数,则表示从字符串末尾向前截取指定长度的字符。

例如,要截取字符串“Hello World”中的“Hello”,可以这样使用substr()函数:

$string = "Hello World";

$sub = substr($string, -11, -6);

echo $sub; //输出:Hello

这里的$start参数是-11,表示从字符串末尾的第11个字符(即空格)开始计数,因为$length是负数,所以实际上是截取字符串末尾向前6个字符(即“Hello ”)。

需要注意的是,当$start和$length参数同时为负数时,会出现意料之外的结果,因为这种情况下$start参数相当于变成了字符串末尾向前截取的字符数。

总之,substr()函数是PHP中非常常用的一个字符串处理函数,可以帮助我们方便地获取字符串的一部分。