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 相关文章推荐
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
PHP的分页功能
Mar 21 PHP
php面向对象的方法重载两种版本比较
Sep 08 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 PHP
基于php下载文件的详解
Jun 02 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 PHP
Zend Framework创建自己的动作助手详解
Mar 05 PHP
PHP序列化/对象注入漏洞分析
Apr 18 PHP
Laravel使用支付宝进行支付的示例代码
Aug 16 PHP
PHP使用OB缓存实现静态化功能示例
Mar 23 PHP
JS中彻底删除JSON对象组成的数组中的元素
Sep 22 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&amp;&amp;mysql)五
2006/10/09 PHP
PHP4实际应用经验篇(6)
2006/10/09 PHP
PHP 数组入门教程小结
2009/05/20 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
2014/03/19 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
python是怎么被发明的
2020/06/15 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
通过代码实例了解Python异常本质
2020/09/16 Python
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
法人授权委托书范本
2014/04/04 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python