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 相关文章推荐
真正面向对象编程:PHP5.01发布
Oct 09 PHP
PHP学习资料汇总与网址
Mar 16 PHP
php IP及IP段进行访问限制的代码
Dec 17 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 PHP
如何使用FireFox插件FirePHP调试PHP
Jul 23 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
Oct 10 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
Mar 02 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 PHP
Thinkphp5.0框架视图view的模板布局用法分析
Oct 12 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
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
jquery 输入框数字限制插件
2009/11/10 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
JS控制下拉列表左右选择实例代码
2020/05/08 Javascript
vc6编写python扩展的方法分享
2014/01/17 Python
详解Python中的from..import绝对导入语句
2016/06/21 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
python实现多人聊天室
2020/03/31 Python
python实现键盘输入的实操方法
2019/07/16 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
医科大学生毕业的自我评价分享
2013/11/12 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
高一新生军训感言
2014/03/02 职场文书
保护环境建议书
2014/03/12 职场文书
论文评审意见
2015/06/05 职场文书