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排序算法的复习和总结
Feb 15 PHP
解析:使用php mongodb扩展时 需要注意的事项
Jun 18 PHP
php中jpgraph类库的使用介绍
Aug 08 PHP
提高PHP性能的编码技巧以及性能优化详细解析
Aug 24 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
Feb 03 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
PHP中抽象类和抽象方法概念与用法分析
May 24 PHP
php 使用curl模拟登录人人(校内)网的简单实例
Jun 06 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
PHP autoload使用方法及步骤详解
Sep 05 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
PHP截取中文字符串的问题
2006/07/12 PHP
《APMServ 5.1.2》使用图解
2006/10/23 PHP
PHP4与PHP5的时间格式问题
2008/02/17 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
突发奇想的一个jquery插件
2010/11/19 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
js中通过父级进行查找定位元素
2014/06/15 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
vue实现记事本功能
2019/06/26 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
python打开使用的方法
2019/09/30 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
2014年监理工作总结范文
2014/11/17 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers