我有一些代码用PHP显示CSV文件数据。这些代码就是这样的
row1
row2
row3
row4
BLANK(这不是任何数据)
<?php
$csvFile = 'abc.csv';
$file_handle = fopen($csvFile, 'r');
while (!feof($file_handle) )
{
$csv_data[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
foreach($csv_data as $data)
{
echo "column 2 = ".$data[1]; echo "<br>";
}
?>
预期输出:
row1
row2
row3
row4
我只有这四行但是它打印了5行,最后一行是空行。请建议我最好的解决方案。感谢。
答案 0 :(得分:0)
你可以试试这个: -
<?php
$csvFile = 'abc.csv';
$file_handle = fopen($csvFile, 'r');
while (!feof($file_handle) )
{
$csv_data[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
$csv_data = array_pop($csv_data); // delete last element of Array
foreach($csv_data as $data)
{
echo "column 2 = ".$data[1]; echo "<br>";
}
?>
答案 1 :(得分:0)
你在最后追加<br/>
所以它会在最后打印空白行并尝试此代码
$count = 0;
foreach($csv_data as $data)
{
if($count>0)
{
echo "<br>";
}
echo "column 2 = ".$data[1];
$count+=1;
}
答案 2 :(得分:0)
我通过添加此代码获得此解决方案
if (empty($data)) {
break;
}
这是我脚本的整个代码
<?php
$csvFile = 'abc.csv';
$file_handle = fopen($csvFile, 'r');
while (!feof($file_handle) )
{
$csv_data[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
foreach($csv_data as $data)
{
if (empty($data)) {
break;
}
echo "column 2 = ".$data[1]; echo "<br>";
}
?>