好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
如何用PHP和fgetcsv方法来从一个CSV文件创建数组? 关闭 返回上一级  

如何用PHP和fgetcsv方法来从一个CSV文件创建数组?
+ 查看更多

发布日期:2018-03-10 16:48
分类:PHP
浏览次数:165
有没有人能慷慨地提供一段用fgetcsv从CSV文件创建数组的代码?
我用了如下的代码从一个简单的CSV文件创建数组,但是当我的字段之一有多个逗号,例如地址时,它就不能正确工作。
$lines =file('CSV Address.csv');

foreach($lines as $data)
{
list($name[],$address[],$status[])
= explode(',',$data);
}
*str_getcsv也不被我的托管服务支持。
以上代码对下面这个CSV文件例子无效。第一列是名字,第二列是地址,第三列是婚姻状况。
Scott L. Aranda,"123 Main Street, Bethesda, Maryland 20816",Single
Todd D. Smith,"987 Elm Street, Alexandria, Virginia 22301",Single
Edward M. Grass,"123 Main Street, Bethesda, Maryland 20816",Married
Aaron G. Frantz,"987 Elm Street, Alexandria, Virginia 22301",Married
Ryan V. Turner,"123 Main Street, Bethesda, Maryland 20816",Single

回答

就像你在标题中说的那样,fgetcsv正是解决之道。使用它相当简单。
Like you said in your title, fgetcsv is the way to go. It's pretty darn easy to use.
$file = fopen('myCSVFile.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
  //$line is an array of the csv elements
  print_r($line);
}
fclose($file);
你也许会想用更多的错误检查以防fopen()执行失败,但是这段代码已经可以逐行读取CSV文件并且将一行解析成数组。
上一篇用POST请求提交的内容长度超过限制
用PHP刷新页面下一篇
下一篇用PHP刷新页面

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号