开发者社区> 问答> 正文

如何使用PHP和fgetcsv函数从CSV文件创建数组

有人可以提供使用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 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-10 16:02:45 615 0
1 条回答
写回答
取消 提交回答
  • 就像您在标题中所说的那样,fgetcsv是必经之路。它很容易使用。

    $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文件并将其解析为数组。

    2020-02-14 11:56:24
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载