PHP 数组和字符串互相转换实现方法

PHP 中由于数组和字符串这两种变量类型是如此常用,以至于 PHP 具有两个函数,可以在字符串和数组之间互相进行转换

代码如下:

$array=explode(separator,$string);

$string=implode(glue,$array);

使用和理解这两个函数的关键之处是分隔符(separator)和胶合符(glue)关系。当把一个数组转换成一个字符串时,将会设置胶合符——将被插入到生成字符串中的数组值之间的字符或代码。

相反,当把字符串转换成数组时,要指定分隔符,它用于标记什么应该变成独立数组元素。例如,以字符串开始:

$s1='Mon-Tue-Wed-Thu-Fri';

$days_array=explode('-',$s1);

$days_array 变量现在是一个有5个元素的数组,其元素 Mon 的索引为0,Tue 的索引为1,等等。

$s2=implode(',',$days_array);

$s2

变量现在是一个用逗号分隔的一个星期中各天的列表:Mon,Tue,Wed,Thu,Fri

例子 1. explode() 示例

代码如下:

// 示例 1

$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";

$pieces = explode(" ", $pizza);

echo $pieces[0]; // piece1

echo $pieces[1]; // piece2

// 示例 2

$data = "foo:*:1023:1000::/home/foo:/bin/sh";

list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);

echo $user; // foo

echo $pass; // *

?>

例子 2. limit 参数示例

代码如下:

$str = 'one|two|three|four';

// 正数的 limit

print_r(explode('|', $str, 2));

// 负数的 limit

print_r(explode('|', $str, -1));

?>

以上示例将输出:

Array

(

[0] => one

[1] => two|three|four

)

Array

(

[0] => one

[1] => two

[2] => three

)

注: 本函数可安全用于二进制对象。

如果你想和PHP大神交流,添加微信,拉你入群

如果你想获得更多学习资料,添加微信,送你资源

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181109A0SBYN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券