我在阅读CSV文件时遇到了麻烦。到目前为止,我可以打开CSV并阅读第一行。
我的CSV文件如下所示(请注意每个新行):
SMITH
PHIL
CHARLIE
SALLY
ETC
我将文件保存为Excel格式的Excel文件,但每次换行时都会被捕获。
我目前的代码如下:
<?php
$file = fopen('surnames.csv', 'r');
$data = fgetcsv($file);
echo "<pre>";
print_r($data);
echo "</pre>";
fclose($file);
?>
当前输出
Array
(
[0] => SMITH
)
感谢任何帮助。我的预期输出显然是一个包含所有值的单个数组。
谢谢。
答案 0 :(得分:5)
你必须遍历每一行才能读取整个文件,否则你只是在阅读文件的第一行:
$data = array();
while( ($line = fgetcsv($handle)) !== false) {
$data[] = $line;
}
现在$data
将是一个多维数组,其中包含CSV文件中的每一行。
答案 1 :(得分:4)
fgetcsv()
一次只能获得一行。您的代码应该更符合以下方式:
<?php
$file = fopen('surnames.csv', 'r');
echo "<pre>";
while( ($data = fgetcsv($file)) !== false ) {
print_r($data);
}
echo "</pre>";
fclose($file);