有人可以提供使用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
就像您在标题中所说的那样,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文件并将其解析为数组。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。