PHP字符串转数组(explode和implode)
在 PHP 开发中,灵活使用数组可以提高程序开发效率。数组和字符串的转换包括将字符串分割成数组和将数组合并成字符串这两个操作,通过 explode() 函数和 implode() 函数可以实现这两个操作,下面对这两个函数的使用进行详细讲解。
下面通过给 explode() 函数传入不同的参数,演示处理结果。
1) 使用目标字符串中存在的字符当作分割符,示例代码如下:
2) 使用目标字符串中不存在的字符当作分割符,示例代码如下:
3) explode() 函数的第 3 个参数是正数的示例代码如下:
4) explode() 函数的第 3 个参数是负数的示例代码如下:
5) explode() 函数的第 3 个参数为 0 的示例代码如下:
implode() 函数的使用示例如下:
PHP explode()函数
explode() 函数使用分割符将目标字符串分割,该函数的第 1 个参数是分割符,不能为空字符串;第 2 个参数是目标字符串;第 3 个参数是可选参数,表示返回的数组中最多包含的元素个数,该参数的值有 3 种情况,具体介绍如下:- 当其为正数 m 时,返回数组中的 m 个元素;
- 当其为负数 n 时,返回除最后的 |n| 个元素外的所有元素;
- 当其为 0 时,则把它当作 1 处理。
下面通过给 explode() 函数传入不同的参数,演示处理结果。
1) 使用目标字符串中存在的字符当作分割符,示例代码如下:
var_dump(explode('n', 'banana')); // 输出结果:array(3) { [0]=> string(2) "ba" [1]=> string(1) "a" [2]=> string(1) "a" }在上述示例代码中,将 n 作为分割符对字符串 banana 进行分割,从结果可以看出,将字符串分割成了 3 部分,这 3 个部分中不包含分割符。
2) 使用目标字符串中不存在的字符当作分割符,示例代码如下:
var_dump(explode('c', 'banana')); // 输出结果:array(1) { [0]=> string(6) "banana" }在上述示例代码中,将 c 作为分割符对字符串 banana 进行分割,由于目标字符串中不存在字符 c,会将整个字符串返回。
3) explode() 函数的第 3 个参数是正数的示例代码如下:
var_dump(explode('n', 'banana', 2)); // 输出结果:array(2) { [0]=> string(2) "ba" [1]=> string(3) "ana" }在上述示例代码中,第 3 个参数是 2,会将目标字符串最多分割成两个数组元素。
4) explode() 函数的第 3 个参数是负数的示例代码如下:
var_dump(explode('n', 'banana', -2)); // 输出结果: array(1) { [0]=> string(2) "ba" }在上述示例代码中,第 3 个参数是 -2,将 n 作为分割符对字符串 banana 进行分割后,分割后的数组中包含 3 个元素,即 ba、a、a,将数组中的最后两个元素去除,因此输出结果中只包含了一个数组元素 ba。
5) explode() 函数的第 3 个参数为 0 的示例代码如下:
var_dump(explode('n', 'banana', 0)); // 输出结果:array(1) { [0]=> string(6) "banana" }在上述示例代码中,会把第 3 个参数 0 当作 1 处理,返回结果为只包含一个元素的数组。
PHP implode()函数
implode() 函数用于通过指定的连接符将数组中的元素拼接成字符串,该函数的第 1 个参数是连接符,第 2 个参数是待处理的数组。implode() 函数的使用示例如下:
$arr = [1, 2, 3]; var_dump(implode(',', $arr)); // 输出结果:string(5) "1,2,3"在上述示例代码中,使用连接符“,”将数组 $arr 中的数组元素拼接成字符串,输出结果为“1,2,3”。