PHP方法之 substr

substr()是PHP中一个函数,用于从字符串中提取指定长度的子字符串。它的完整语法如下:

```

substr(string $string, int $start, int|null $length = null): string

```

其中:

- `$string`: 必需,字符串变量。需要截取的字符串。

- `$start`: 必需,整型变量。开始截取的位置,第一个字符的索引为0。

- `$length`: 可选,整型变量。指定截取的长度。默认是取从`start`位置到字符串末尾的所有内容。如果指定了`length`,则从`start`位置开始向后取`length`个字符,不管这些字符是不是到了字符串的结尾。

下面是一些使用示例:

### 示例1:取得字符串的一部分

```

$str = "Hello, World!";

$subStr = substr($str, 0, 5); // "Hello"

```

这个例子中,`substr()`函数的第一个参数是我们想要截取的字符串。第二个参数指定从哪个位置开始截取,这里是从索引0开始。最后一个参数是可选的,它指定我们希望从开始位置中截取的字符数,这里是5个字符。因此,函数返回`Hello`。

### 示例2:取得字符串的一部分直到结尾

```

$str = "Hello, World!";

$subStr = substr($str, 7); // "World!"

```

这个例子中,第一个参数是要截取的字符串,第二个参数是字符串中开始截取的位置,这里是从索引7开始。因为我们没有指定可选的第三个参数,所以函数截取从第7个位置开始的所有字符。所以函数返回`World!`。

### 示例3:取得字符串的最后几个字符

```

$str = "Hello, World!";

$subStr = substr($str, -6); // "World!"

```

这个例子中,第一个参数是要截取的字符串。第二个参数是要截取的字符串中开始截取的位置,这里是从倒数第6个字符开始截取。这里使用的是负数,它表示从字符串结尾倒数第几个字符开始截取。因为我们没有指定可选的第三个参数,所以函数截取从倒数第6个字符开始的所有字符。所以函数返回`World!`。

### 示例4:取得字符串中间的一部分

```

$str = "Hello, World!";

$subStr = substr($str, 7, 5); // "World"

```

这个例子中,第一个参数是要截取的字符串。第二个参数指定从哪个位置开始截取,这里是从索引7开始。第三个参数指定我们要从字符串中截取的字符数,这里是5个。所以,函数返回`World`。

### 示例5:使用substr()截取中文字符

有时候,使用`substr()`函数截取中文字符会遇到问题。因为中文字符占用的是2个字节,而每个字节都可以由单独的ASCII字符表示。在这种情况下,我们需要使用`mb_substr()`函数,它是PHP中的一个多字节字符串函数。这个函数和`substr()`函数的语法几乎一样,只是需要在函数名前面加上`mb_`前缀以表示多字节字符串。

```

$str = "你好,世界!";

$subStr = mb_substr($str, 0, 2); // "你好"

```

此例中,`mb_substr()`函数的第一个参数是我们想要截取的字符串。第二个参数指定从哪个位置开始截取,这里是从索引0开始。最后一个参数是可选的,它指定我们希望从开始位置中截取的字符数,这里是2个字符。因为这个字符串是中文的,我们需要使用`mb_substr()`函数而不是`substr()`函数。

总结:

`substr()`函数是一个PHP中非常实用的函数。它能够截取一个字符串的组成部分。它的语法简单易懂,不需要很多参数。如果您需要从字符串中获取一定长度的子字符串,那么substr()将是您的最佳选择。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(106) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部