首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以相反顺序显示行fgetcsv

以相反顺序显示行fgetcsv
EN

Stack Overflow用户
提问于 2016-10-24 20:36:56
回答 2查看 697关注 0票数 2

如何以相反的顺序显示行?

CSV文件:

第1栏;第2栏;第3栏 细胞1细胞1 细胞2;细胞2 细胞3;细胞3

应该是这样的:

第1栏;第2栏;第3栏 细胞3;细胞3 细胞2;细胞2 细胞1细胞1

代码:

代码语言:javascript
复制
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>';
}

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-24 20:42:04

先收

代码语言:javascript
复制
$collect = array();
while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
{
  $collect[]= '<tr><td>'.implode('</td><td>', $data).'</td></tr>';
}
echo implode(PHP_EOL,array_reverse($collect));

在末尾反转数组。

票数 1
EN

Stack Overflow用户

发布于 2016-10-24 20:41:27

这里需要做的是:而不是直接将echo行存储到一个变量中:

代码语言:javascript
复制
// 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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40227108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档