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脚本的10个技巧(8)
Oct 09 PHP
五个PHP程序员工具
May 26 PHP
php启用zlib压缩文件的配置方法
Jun 12 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
在wamp集成环境下升级php版本(实现方法)
Jul 01 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHP通过get方法获得form表单数据方法总结
Sep 12 PHP
PHP正则表达式笔记与实例详解
May 09 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 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连接SQLServer2005 的问题解决方法
2010/07/19 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
Vue 中可以定义组件模版的几种方式
2019/08/06 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
python+opencv实现动态物体识别
2018/01/09 Python
python3 拼接字符串的7种方法
2018/09/12 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
园长自我鉴定
2013/10/06 职场文书
幼教毕业生自我鉴定
2014/01/12 职场文书
纺织工程专业个人求职信范文
2014/01/27 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
部队万能检讨书
2014/02/20 职场文书
服务理念口号
2014/06/11 职场文书
国庆节活动总结
2014/08/26 职场文书
爱护公物演讲稿
2014/09/09 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
西安事变观后感
2015/06/12 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
Python 键盘事件详解
2021/11/11 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python