如何以相反的顺序显示行?
CSV文件:
列1;列2;栏3
小区1;小区1;小区1
小区2;小区2;小区2
CELL3; CELL3; CELL3
应该是这样的:
列1;列2;栏3
CELL3; CELL3; CELL3
小区2;小区2;小区2
小区1;小区1;小区1
代码:
if (($handle = fopen($path, 'r')) !== FALSE)
{
echo '<table class="table table-striped table-bordered"><thead>';
// Get headers
if (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
{
echo '<tr><th>'.implode('</th><th>', $data).'</th></tr>';
}
echo '</thead><tbody>';
// Get the rest
while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
{
echo '<tr><td>'.implode('</td><td>', $data).'</td></tr>';
}
fclose($handle);
echo '</tbody></table>';
}
提前致谢。
答案 0 :(得分:1)
这里你需要做什么:而不是直接echo
行 - 将它存储到变量:
// Get the rest
$rest = '';
while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
{
// main trick here - add every new row BEFORE old ones
$rest = '<tr><td>'.implode('</td><td>', $data).'</td></tr>' . $rest;
}
// echo gathered data
echo $rest;
答案 1 :(得分:1)
先收集
$collect = array();
while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
{
$collect[]= '<tr><td>'.implode('</td><td>', $data).'</td></tr>';
}
echo implode(PHP_EOL,array_reverse($collect));
最后反转数组。