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 4.2书写安全的脚本
Oct 09 PHP
用PHP控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
PHP 地址栏信息的获取代码
Jan 07 PHP
php下通过伪造http头破解防盗链的代码
Jul 03 PHP
php基础学习之变量的使用
Jun 09 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 PHP
php将日期格式转换成xx天前的格式
Apr 16 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
详解php中流行的rpc框架
May 29 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中使用gettext来支持多语言的方法
2011/05/02 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
javascript 闭包详解
2015/07/02 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
详解webpack3编译兼容IE8的正确姿势
2017/12/21 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
python下载的库包存放路径
2020/07/27 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
办理护照工作证明
2014/10/10 职场文书
捐书活动倡议书
2015/04/27 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
AngularJS实现多级下拉框
2022/03/25 Javascript