Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从末尾循环文件?_Php_File_Foreach - Fatal编程技术网

Php 从末尾循环文件?

Php 从末尾循环文件?,php,file,foreach,Php,File,Foreach,我有一个这样的文本文件 <?php $offers = file('logs/offer.txt'); foreach($offers as $line) { $lineArray = explode("\t", $line); list($date, $quantity) = $lineArray; echo '<tr> <td>' . $date . '</td&g

我有一个这样的文本文件

<?php
    $offers = file('logs/offer.txt');
    foreach($offers as $line) {
        $lineArray = explode("\t", $line);
        list($date, $quantity) = $lineArray;
        echo '<tr>      
        <td>' . $date . '</td>
        <td>' .$quantity. '</td>
        </tr>';
    }
?>
2018-10-09 1

2018-11-12 1

2018-11-13 7

2018-11-15 1

2018-11-18 7

我循环文件以如下方式显示结果

<?php
    $offers = file('logs/offer.txt');
    foreach($offers as $line) {
        $lineArray = explode("\t", $line);
        list($date, $quantity) = $lineArray;
        echo '<tr>      
        <td>' . $date . '</td>
        <td>' .$quantity. '</td>
        </tr>';
    }
?>
我得到了结果,但我想从文件的末尾开始,并像这样以最新日期开始回显结果

2018-11-18 7

2018-11-15 1

2018-11-13 7

2018-11-12 1

2018-10-09 1


在使用foreach之前,您可以轻松地使用反转文件内容数组

$offers = file('logs/offer.txt', FILE_IGNORE_NEW_LINES);
$offers = array_reverse($offers);
foreach($offers as $line) {

注意,我还添加了FILE_IGNORE_NEW_行,这将使每行末尾的新行消失,如果需要,您可以删除它。

我想您考虑过从count$offers-1执行FOR循环,并减少计数器而不是增加计数器?当然,如果文件可能变得非常大,DUP可能是最好的解决方案。您也可以说数据应该在数据库中,有很多种可能性。我想数组_reversearray _reverse;是否应该取消$U报价?