不太了解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>
答案 0 :(得分:1)
语法错误,for循环以分号结束,并且您只打印第一个元素$content_array[0]
,而不是使用循环变量。试试这个:
<?php
for($i=count($content_array); $i < 1; $i--) {
echo '<li>'; echo $content_array[$i]; echo'</li>';
}
?>
答案 1 :(得分: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文件的最后两行
答案 2 :(得分: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; ?>