Heim >Backend-Entwicklung >PHP-Tutorial >PHP str_getcsv implementiert die Methode zum Parsen von Zeichenfolgen in Arrays

PHP str_getcsv implementiert die Methode zum Parsen von Zeichenfolgen in Arrays

墨辰丷
墨辰丷Original
2018-05-24 10:19:401577Durchsuche

下面小编就为大家带来一篇php str_getcsv把字符串解析为数组的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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、MySQL环境配置 

PHP函数 curl请求-抓取页面/接口测试 

PHP基础函数汇总

Das obige ist der detaillierte Inhalt vonPHP str_getcsv implementiert die Methode zum Parsen von Zeichenfolgen in Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn