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

yipeiwu_com6年前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
)

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

相关文章

PHP实现bitmap位图排序与求交集的方法

本文实例讲述了PHP实现bitmap位图排序求交集的方法。分享给大家供大家参考,具体如下: 初始化一串全为0的二进制; 现有一串无序的整数数组; 如果整数x在这个整数数组当中,就将二进制...

PHP实现的一致性Hash算法详解【分布式算法】

PHP实现的一致性Hash算法详解【分布式算法】

本文实例讲述了PHP实现的一致性Hash算法。分享给大家供大家参考,具体如下: 一致性哈希算法是分布式系统中常用的算法,为什么要用这个算法? 比如:一个分布式存储系统,要将数据存储到具体...

浅谈php安全性需要注意的几点事项

在放假之初,我抽时间看了《白帽子讲web安全》,吴翰清基本上把web安全中所有能够遇到的问题、解决思路归纳总结得很清晰,也是我这一次整体代码安全性的基石。 我希望能分如下几个方面来分享自...

php使用自定义函数实现汉字分割替换功能示例

本文实例讲述了php自定义函数实现汉字分割替换功能。分享给大家供大家参考,具体如下: header("Content-type:text/html;charset=utf-8");...

PHP中使用虚代理实现延迟加载技术

话说这货是从 Martin 大神的《企业应用架构模式》中学到的,辅助 PHP 动态语言的特性,可以比 Java 轻松很多的实现延迟加载——通过一个虚代理占位符。唯一的缺陷,是只能代理对象...