php截取字符串的函数

PHP是一门充满魅力的编程语言,它支持许多字符串操作函数,其中截取字符串函数就是其中之一。在PHP中,截取字符串函数常常用于从一个长字符串中提取出部分内容(如某个关键字、一段文字等)。

截取字符串的函数参数主要有三个:被截取的字符串、截取的起始位置和截取的长度。以下是常用的截取字符串的函数:

## 1. substr函数

substr函数是PHP自带的基本字符串处理函数之一,它可以在一个字符串中截取一段子串,并返回该子串。

```php

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

```

其中,$string是待处理的字符串,$start是起始位置,$length是截取长度。

如果$length不指定,那么就截取从$start开始到字符串结尾的所有字符。如果$start是负数,并且它的绝对值大于字符串的长度,那么$start将被转换成0。

示例如下:

```php

$str = "Hello, World!";

$sub_str = substr($str, 7); // $sub_str的值为 "World!"

$sub_str = substr($str, -6); // $sub_str的值为 "World!"

$sub_str = substr($str, 7, 5); // $sub_str的值为 "World"

```

## 2. mb_substr函数

mb_substr函数和substr函数的功能相似,不同之处在于mb_substr函数是一个多字节字符串函数,专门用于处理含有多字节字符集(如中文、日文、韩文等)的字符串。

```php

string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

```

其中,$str是待处理的字符串,$start是起始位置,$length是截取长度,$encoding是字符编码(默认值为mb_internal_encoding(),即当前脚本的字符编码)。

示例如下:

```php

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

$sub_str = mb_substr($str, 3); // $sub_str的值为 ",世界!"

$sub_str = mb_substr($str, 0, 2); // $sub_str的值为 "你好"

```

## 3. explode函数

explode函数是PHP的分割字符串函数,它可以根据指定的分隔符将一个字符串分割成多个子串,并将这些子串组成一个数组返回。

```php

array explode ( string $separator , string $string [, int $limit = PHP_MAXPATHLEN ] )

```

其中,$separator是分隔符(可以是一个字符串,也可以是一个包含多个字符串的数组),$string是待处理的字符串,$limit是返回的最大数组元素个数(默认值是PHP_MAXPATHLEN)。

示例如下:

```php

$str = "apple,banana,orange";

$arr = explode(",", $str); // $arr的值为 ["apple", "banana", "orange"]

```

## 4. preg_split函数

和explode函数类似,preg_split函数也可以将一个字符串分割成多个子串,并将这些子串组成一个数组返回。不同之处在于preg_split函数支持正则表达式作为分隔符,对于一些复杂的字符串分割操作非常方便。

```php

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

```

其中,$pattern是正则表达式,$subject是待处理的字符串,$limit是返回的最大数组元素个数(默认值是-1,即返回所有元素),$flags是控制正则表达式匹配的选项(例如PCRE_CASELESS表示不区分大小写)。

示例如下:

```php

$str = "The quick brown fox jumps over the lazy dog.";

$arr = preg_split("/\s+/", $str); // $arr的值为 ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]

```

既然我们已经了解了这些函数,那么我们就可以尝试将它们应用到实际的开发中了,下面以一个简单的例子来介绍如何使用截取字符串的函数。

我们假设有一个字符串,其中包含着一些班级的成绩信息,我们需要从这个字符串中提取出每个学生的姓名和成绩,并把它们组成一个二维数组。

```php

$str = "张三:90,李四:85,王五:70,赵六:78,钱七:92";

```

我们可以先用explode函数将整个字符串分割成一个个学生的信息:

```php

$arr = explode(",", $str);

```

接着,我们可以遍历这个数组,对每个学生的信息再用explode函数分割成姓名和成绩,并组成一个二维数组:

```php

$result = array();

foreach ($arr as $item) {

$tmp = explode(":", $item);

$result[] = array("name"=>$tmp[0], "score"=>$tmp[1]);

}

print_r($result);

```

运行结果:

```

Array

(

[0] => Array

(

[name] => 张三

[score] => 90

)

[1] => Array

(

[name] => 李四

[score] => 85

)

[2] => Array

(

[name] => 王五

[score] => 70

)

[3] => Array

(

[name] => 赵六

[score] => 78

)

[4] => Array

(

[name] => 钱七

[score] => 92

)

)

```

到这里,我们已经成功地将一个字符串处理成了一个二维数组,这个数组可以为我们后续的开发提供便利。当然,使用截取字符串的函数还有很多其他的应用场景,需要我们自己去探索。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(75) 打赏

评论列表 共有 0 条评论

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