php str_getcsv把字符串解析为数组的使用方法

php根据定界符把字符串解析为数组1般使用explode方法实现

例如:使用”,”为定界符解析字符串为数组

<?php
$str = '1,2,3';
$arr = explode(',', $str);
print_r($arr);
?>

输出:

Array
(
[0] => 1
[1] => 2
[2] => 3
)

但对1些较复杂的字符串,例如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
)
波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php str_getcsv把字符串解析为数组的使用方法

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡