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

来源:互联网 发布:云计算和数据中心 编辑:程序博客网 时间:2024/05/01 22:52
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() 示例 

<?php // 示例 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 参数示例 
<?php $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 


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