谁能提供一个代码来使用 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是要走的路。它非常易于使用。
$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 文件并将该行解析为数组。
关于php - 如何使用 PHP 和 fgetcsv 函数从 CSV 文件创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1269562/