php str_getcsv把字符串解析为数组的实现方法


Posted in PHP onApril 05, 2017

php根据定界符把字符串解析为数组一般使用explode方法实现

例如:使用”,”为定界符解析字符串为数组

<?php
$str = '1,2,3';
$arr = explode(',', $str);
print_r($arr);
?>

输出:

Array
(
  [0] => 1
  [1] => 2
  [2] => 3
)

但对于一些较复杂的字符串,例如csv格式,使用explode不能得出想要的结果,而使用正则较麻烦。

例如:

<?php
$str = "中国,广东省,广州市,天河区,'113.329884,23.154799',1,'2016-01-01 12:00:00','1,2,3,4,5,6'";
$arr = explode(',', $str);
print_r($arr);
?>

输出:

Array
(
  [0] => 中国
  [1] => 广东省
  [2] => 广州市
  [3] => 天河区
  [4] => '113.329884
  [5] => 23.154799'
  [6] => 1
  [7] => '2016-01-01 12:00:00'
  [8] => '1
  [9] => 2
  [10] => 3
  [11] => 4
  [12] => 5
  [13] => 6'
)

实际上想得到的结果是:

Array
(
  [0] => 中国
  [1] => 广东省
  [2] => 广州市
  [3] => 天河区
  [4] => 113.329884,23.154799
  [5] => 1
  [6] => 2016-01-01 12:00:00
  [7] => 1,2,3,4,5,6
)

php提供了str_getcsv方法,可以把字符串作为csv格式来处理,这样方便解析为数组。

str_getcsv 解析csv字符串为数组

array str_getcsv ( string $input [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]] )

参数:

input 待解析的字符串

delimiter 设定字段界定符(仅单个字符)

enclosure 设定字段包裹字符(仅单个字符)

escape 设置转义字符(仅单个字符),默认为反斜线(\)

实例:

<?php
$str = "中国,广东省,广州市,天河区,'113.329884,23.154799',1,'2016-01-01 12:00:00','1,2,3,4,5,6'";
$arr = str_getcsv($str, ',', "'");
print_r($arr);
?>

输出:

Array
(
  [0] => 中国
  [1] => 广东省
  [2] => 广州市
  [3] => 天河区
  [4] => 113.329884,23.154799
  [5] => 1
  [6] => 2016-01-01 12:00:00
  [7] => 1,2,3,4,5,6
)

以上这篇php str_getcsv把字符串解析为数组的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php结合表单实现一些简单功能的例子
Jun 04 PHP
php 文件上传类代码
Aug 06 PHP
php中json_encode中文编码问题分析
Sep 13 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
PHP如何利用P3P实现跨域
Aug 24 PHP
PHP使用file_get_content设置头信息的方法
Feb 14 PHP
Joomla语言翻译类Jtext用法分析
May 05 PHP
PHP创建多级目录的两种方法
Oct 28 PHP
php遍历替换目录下文件指定内容的方法
Nov 10 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
Apr 05 #PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 #PHP
通过php动态传数据到highcharts
Apr 05 #PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
Apr 04 #PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 #PHP
php实现用户登陆简单实例
Apr 04 #PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 #PHP
You might like
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
JavaScript实现网页留言板功能
2020/11/23 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
详解Python装饰器由浅入深
2016/12/09 Python
python3下pygame如何实现显示中文
2020/01/11 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
华为的Java面试题
2014/03/07 面试题
C语言50道问题
2014/10/23 面试题
教育基金募捐倡议书
2014/05/14 职场文书
2014年施工员工作总结
2014/11/18 职场文书
教师节倡议书2015
2015/04/27 职场文书
员工辞职信范文大全
2015/05/12 职场文书
小学作文之描写天气
2019/08/15 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers