1

好吧,这可能有点难以理解,但我会尽力描述我想要发生的事情......

我有一个 while 循环,它在代码上持续数千次。当它这样做时,我让它在每次循环增加一个值时打印出一行。回声每次都会在新行的页面上打印出来并继续向下页面(效果很好),但我想知道是否有办法让新的回声显示在页面的顶部而不是向下到页面底部(在其他结果下方)。所以简而言之,我想让循环中的每个没有回声都像博客文章(在顶部)一样显示出来。

4

3 回答 3

1

您最好反转您正在迭代的数组。如果您不是迭代数组而是迭代一些 SQL 结果集,而不仅仅是在查询中添加一个 order 子句(或者order by fooorder by foo ASC两者都是升序降序)。order by foo DESC

如果两者都不是,请执行以下操作:

$output = '';
while (something) {
  $output = 'blahblah' . $output;
}
echo $output;

不管是什么情况;“几千次”听起来像是一个糟糕的计划。也许你需要分页

于 2012-07-18T13:47:44.593 回答
1

好吧,您只需要重新排序您的信息,例如,如果信息来自 sql 数据库,您应该使用ORDER BY语句按照您想要显示的顺序获取信息,这将使生活更轻松。

于 2012-07-18T13:47:24.927 回答
0

不要立即回应你的结果。相反,将它们保存到一个字符串并将以前的结果附加到新的结果中。

$output = "";
do 
{
    $newresults = doWhatever();
    $output = $newresults . $output;
}
while( $stillWannaLoop == true );
echo $output;
于 2012-07-18T13:53:15.643 回答