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 相关文章推荐
一个很方便的 XML 类!!原创的噢
Oct 09 PHP
php 模拟POST|GET操作实现代码
Jul 20 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
PHP删除数组中空值的方法介绍
Apr 14 PHP
php中函数前加&amp;符号的作用分解
Jul 08 PHP
两种php去除二维数组的重复项方法
Nov 04 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
使用PHP免费发送定时短信的实例
Oct 24 PHP
PHP的消息通信机制测试实例
Nov 10 PHP
Yii2实现UploadedFile上传文件示例
Feb 15 PHP
php封装一个异常的处理类
Jun 08 PHP
PHP实现搜索时记住状态的方法示例
May 11 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表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
原生JS实现简单放大镜效果
2017/02/08 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
ES6中参数的默认值语法介绍
2017/05/03 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
常见的浏览器Hack技巧整理
2017/06/29 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
python创建列表并给列表赋初始值的方法
2015/07/28 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
Python 实现微信防撤回功能
2019/04/29 Python
python开发游戏的前期准备
2019/05/05 Python
python实现统计代码行数的小工具
2019/09/19 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
纪检干部现实表现材料
2014/08/21 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
2015年乡镇工会工作总结
2015/05/19 职场文书
荒岛余生观后感
2015/06/09 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书