我在读取CSV文件时遇到问题。到目前为止,我能够打开CSV并读取第一行。
我的CSV文件看起来像这样(注意每个新行):
SMITH
PHIL
CHARLIE
SALLY
ETC
我在excel中将文件另存为CSV,但它在每个换行符上都会被捕获。
我当前的代码如下所示:
<?php
$file = fopen('surnames.csv', 'r');
$data = fgetcsv($file);
echo "<pre>";
print_r($data);
echo "</pre>";
fclose($file);
?>
当前输出为
Array
(
[0] => SMITH
)
任何帮助都是非常感谢的。我的预期输出显然是包含所有值的单个数组。
谢谢你。
发布于 2012-12-13 05:28:02
您必须遍历每一行以读取整个文件,否则只读取文件中的第一行:
$data = array();
while( ($line = fgetcsv($handle)) !== false) {
$data[] = $line;
}
现在,$data
将是一个多维数组,其中包含CSV文件中的每一行。
发布于 2012-12-13 05:28:08
fgetcsv()
一次只获取一行。您的代码应该更多地遵循以下内容:
<?php
$file = fopen('surnames.csv', 'r');
echo "<pre>";
while( ($data = fgetcsv($file)) !== false ) {
print_r($data);
}
echo "</pre>";
fclose($file);
https://stackoverflow.com/questions/13848911
复制相似问题