0

不太了解 PHP,想知道每次提交时如何从数组中获取新值,我有一个包含 5 个字段的表单,表单将信息发送到 txt 文件,然后我只想取前两个项目表单提交并将其显示在列表项中的时间,但似乎无法弄清楚循环应该如何工作?请问有什么提示吗?

现在我有这个,它成功地打印出 txt 文件中的第一个文本块,但是当我再次提交表单时没有任何反应,有什么问题?

$myFile = 'demo.txt';
$content = file_get_contents('demo.txt');
$content_array = explode(";", $content);

<div id="info_php">
       <ul id="list_php">
            <?php for($i=count($content_array); $i < 1; $i--);
             echo '<li>'; echo $content_array[0]; echo'</li>';?>
        </ul>       
</div>
4

3 回答 3

1

您有语法错误,for 循环以分号终止,并且您仅将第一个元素打印为$content_array[0],而不是使用循环变量。尝试这个:

 <?php 
 for($i=count($content_array); $i < 1; $i--) {
     echo '<li>'; echo $content_array[$i]; echo'</li>'; 
 }
 ?>
于 2013-03-25T15:55:25.073 回答
1

您需要做的第一件事是像这样更改循环:

<?php
    $count = count($content_array); // total rows
    $limit = $count > 2 ? $count - 2 : 0; // at most we want two rows
    for ($i = $count; $i > limit; $i--) {
        echo '<li>' . $content_array[$i - 1] . '</li>';
    }
?>

这将获得txt文件的最后两行

于 2013-03-25T15:58:36.853 回答
0

就是这个!

<?php
    $myFile = 'demo.txt';
    $content = file_get_contents($myFile);
    $content_array2 = explode("\n", $content);      
?>


<?php for($i = 0; $i < count($content_array2); $i++):
       $values = explode(';', $content_array2[$i]);?>
       <li><?php echo $values[0].$values[1]; ?></li>
<?php endfor; ?>
于 2013-03-25T22:37:46.967 回答