php str_getcsv()函数将CSV格式字段的字符串解析为数组

原创 国哥笔记  2018-12-29 13:46  阅读 723 views 次

str_getcsv()函数定义及用法

在css中,str_getcsv()函数是使用来将CSV格式字段的字符串解析为数组,返回数组。该函数和explode()函数很相似,explode()函数是根据定界符把字符串解析为数组,如果遇到CSV格式的字符串,explode()函数就不适用了,如果使用正则表达式又比较麻烦,我们就可以使用str_getcsv()函数了处理;

str_getcsv()函数有四个参数,第一个参数为字符串,用来规定需要解析为数组的字符串;第二个参数是可选参数,用来设置字段分界符(只允许一个字符),默认值为逗号;第二个参数也是可选参数,用来设置字段环绕符(只允许一个字符),默认值为双引号;第四个参数也是可选参数,用来设置转义字符(只允许一个字符),默认值为反斜线;

str_getcsv()函数语法格式

$arr = str_getcsv(string,separator,enclosure,escape);

参数说明

  • string:规定要解析为数组的字符串;
  • separator:可选参数,设置字段分界符,默认值为逗号;
  • enclosure :可选参数,设置字段环绕符,默认值为双引号;
  • escape:可选参数,设置转义字符,默认值为反斜线;
  • $arr:接收函数返回的数组的变量;

实例1:(普通字符串)

<?php
header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码
$string = "www.ggbiji.com"; //字符串
$arr1 = explode(".",$string);//使用explode()函数将字符串解析为数组
$arr2 = str_getcsv($string,".");//使用str_getcsv()函数将字符串解析为数组
echo '原字符串:'.$string."<br/>";//输出原字符串
echo '使用explode()函数:';
var_dump($arr1);
echo '使用str_getcsv()函数:';
var_dump($arr2);
?>

运行结果:

str_getcsv()函数

说明:普通字符串根据定界符把字符串解析为数组explode()函数和str_getcsv()函数都能实现相同的效果,但是一般会使用explode()函数来实现。str_getcsv()函数一般是使用来解析CSV格式字段的字符串,CSV格式字段的字符串使用explode()函数是无法正确解析的;

实例2(CSV格式字段的字符串):

<?php
header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码
$string = "小明,'1.70,120','李四','1.65,100'"; 
$arr1 = explode(",",$string);
$arr2 = str_getcsv($string,",","''");
echo '原字符串:'.$string."<br/>";//输出原字符串
echo '使用explode()函数:';
var_dump($arr1);
echo '使用str_getcsv()函数:';
var_dump($arr2);
?>

运行结果:

str_getcsv()函数

有关var_dump()函数的用法见:php中var_dump()函数的用法笔记

更多操作字符串的函数——>PHP String字符串函数大全

本文地址:https://www.ggbiji.com/php-str_getcsv.html
版权声明:本文为 国哥笔记 原创/整理文章,欢迎分享,转载请注明出处!

发表评论


表情