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
PHP脚本的10个技巧(5)
Oct 09 PHP
PHP静态调用非静态方法的应用分析
May 02 PHP
php采集内容中带有图片地址的远程图片并保存的方法
Jan 03 PHP
PHP+APACHE实现网址伪静态
Feb 22 PHP
PHP实现简单数字分页效果
Jul 26 PHP
php实现mysql数据库连接操作及用户管理
Nov 08 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
Mar 05 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
Jul 13 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
浅谈php调用python文件
Mar 29 PHP
laravel按天、按小时,查询数据的实例
Oct 09 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性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
超级强大的表单验证
2006/06/26 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
[55:32]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第二场
2018/04/05 DOTA
Python Socket使用实例
2017/12/18 Python
对python的文件内注释 help注释方法
2018/05/23 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
Python 实现微信防撤回功能
2019/04/29 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
大专应届毕业生求职信
2014/07/15 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
2015年银行柜员工作总结报告
2015/04/01 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB
python之基数排序的实现
2021/07/26 Python
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers