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的memcached客户端memcached
Jun 14 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
PHP递归返回值时出现的问题解决办法
Feb 19 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
PHP数据的提交与过滤基本操作实例详解
Nov 11 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 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
ThinkPHP惯例配置文件详解
2014/07/14 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
php用户注册信息验证正则表达式
2015/11/12 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
js转义字符介绍
2013/11/05 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
jquery插件hiAlert实现网页对话框美化
2015/05/03 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
使用异步controller与jQuery实现卷帘式分页
2019/06/18 jQuery
JS精确判断数据类型代码实例
2019/12/18 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
PYTHON发送邮件YAGMAIL的简单实现解析
2019/10/28 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
如何使用python记录室友的抖音在线时间
2020/06/29 Python
python3中布局背景颜色代码分析
2020/12/01 Python
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
印度第一网上礼品店:IGP.com
2020/02/06 全球购物
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
给女朋友的道歉信
2014/01/10 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
大雁塔导游词
2015/02/04 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android