极品分享

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() 示例

<?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
)

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

2014-12-24 0 /
PHP学习
/
标签: 

评论回复

回到顶部