我的csv文件中有568行,而我的for循环看起来像这样
$csv = array();
$file = fopen('names.csv', 'r');
while (($result = fgetcsv($file)) !== false)
{
$csv[] = $result;
}
fclose($file);
for ($row = 0; $row < 568; $row++)
{
echo "Serial no:<br/>";
echo "Name:".$csv[$row][1]."";
}
我想要这样的输出......
Serial no: 1
Name: Blah blah 1
Serial no: 2
Name: Blah blah 2
............
............
Serial no: 10
Name: Blah blah 10
对于每10行我想要序列1到10 ..一旦完成10行我想要一条水平线..
我的意思是我要打印
echo "<hr>";
每10行..
任何人都可以帮助我吗? 感谢
答案 0 :(得分:2)
这应该有效:
for ($row = 0; $row < 568; $row++) {
echo "Serial no:<br/>";
echo "Name:".$csv[$row][1];
echo (($row+1)%10 == 0) ? '<hr>' : '<br />';
}
说明:
但真正的好方法是:
$file = fopen('names.csv', 'r');
$i = 1;
while (($result = fgetcsv($file)) !== false) {
echo "Serial no:" .$i. "<br/>";
echo "Name:".$result[1];
echo ($i == 1) ? '<hr>' : '<br />';
$i = ($i%10)+1;
}
fclose($file);
答案 1 :(得分:0)
$csv = array();
$file = fopen('names.csv', 'r');
while (($result = fgetcsv($file)) !== false)
{
$csv[] = $result;
}
fclose($file);
for ($row = 0; $row < 568; $row++)
{
echo "Serial no:<br/>";
echo "Name:".$csv[$row][1]."";
if ((int) $row % 10 === 0)
{
echo '<hr>';
}
}
应该做的伎俩:)