Maison  >  Article  >  développement back-end  >  Une explication sur la façon d'utiliser php str_getcsv pour analyser une chaîne dans un tableau

Une explication sur la façon d'utiliser php str_getcsv pour analyser une chaîne dans un tableau

jacklove
jackloveoriginal
2018-06-09 09:12:311870parcourir

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

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

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

输出:

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

但对于一些较复杂的字符串,例如csv格式,使用explode不能得出想要的结果,而使用正则较麻烦。

例如:

<?php$str = "中国,广东省,广州市,天河区,&#39;113.329884,23.154799&#39;,1,&#39;2016-01-01 12:00:00&#39;,&#39;1,2,3,4,5,6&#39;";$arr = explode(&#39;,&#39;, $str);
print_r($arr);?>

输出:

Array(
    [0] => 中国
    [1] => 广东省
    [2] => 广州市
    [3] => 天河区
    [4] => &#39;113.329884
    [5] => 23.154799&#39;
    [6] => 1
    [7] => &#39;2016-01-01 12:00:00&#39;
    [8] => &#39;1
    [9] => 2
    [10] => 3
    [11] => 4
    [12] => 5
    [13] => 6&#39;)

实际上想得到的结果是:

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 = &#39;"&#39; [, string $escape = "\\" ]]] )

参数:
input 待解析的字符串
delimiter 设定字段界定符(仅单个字符)
enclosure 设定字段包裹字符(仅单个字符)
escape 设置转义字符(仅单个字符),默认为反斜线(\)

实例:

<?php$str = "中国,广东省,广州市,天河区,&#39;113.329884,23.154799&#39;,1,&#39;2016-01-01 12:00:00&#39;,&#39;1,2,3,4,5,6&#39;";$arr = str_getcsv($str, &#39;,&#39;, "&#39;");
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中文网。

相关推荐:

优化客户端调用服务端接口减少请求数据容量

mysql order by rand() 效率优化方法

php 获取开始日期与结束日期之间所有日期

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn