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聊天室技术
Oct 09 PHP
介绍几个array库的新函数 php
Dec 29 PHP
php5.2.0内存管理改进
Jan 22 PHP
增加反向链接的101个方法 站长推荐
Jan 31 PHP
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
随时给自己贴的图片加文字的php水印
Mar 16 PHP
paypal即时到账php实现代码
Nov 28 PHP
php实现的mongodb操作类实例
Apr 03 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
php实现微信原生支付(扫码支付)功能
May 30 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递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
NodeJS链接MySql数据库的操作方法
2017/06/27 NodeJs
react中的ajax封装实例详解
2017/10/17 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
总结Python中逻辑运算符的使用
2015/05/13 Python
python学习之面向对象【入门初级篇】
2017/01/21 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
python实现微信防撤回神器
2019/04/29 Python
python通过http下载文件的方法详解
2019/07/26 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
python绘制随机网络图形示例
2019/11/21 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
python如何更新包
2020/06/11 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
10张动图学会python循环与递归问题
2021/02/06 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
打架检讨书50字
2014/01/11 职场文书
生物工程专业求职信
2014/09/03 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书