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 相关文章推荐
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
根据中文裁减字符串函数的php代码
Dec 03 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
Oct 24 PHP
php匹配字符中链接地址的方法
Dec 22 PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 PHP
php超快高效率统计大文件行数
Jul 05 PHP
使用Zttp简化Guzzle 调用
Jul 02 PHP
PHP基于DOMDocument解析和生成xml的方法分析
Jul 17 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP微信发送推送消息乱码的解决方法
2019/02/28 PHP
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
Python字符串匹配算法KMP实例
2015/07/18 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
python模块导入的细节详解
2018/12/10 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
2020/04/18 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
浙大毕业生自荐信
2014/01/26 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
派出所班子党的群众路线对照检查材料思想汇报
2014/10/01 职场文书
投资意向协议书
2015/01/29 职场文书
介绍信模板
2015/01/31 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript