【问题标题】:easier way to get counter from while loop?从while循环中获取计数器的更简单方法?
【发布时间】:2011-08-30 13:12:44
【问题描述】:

我有以下几点:

$counter = 1;   
while($row= mysql_fetch_assoc($result)) {
    $counter2 = $counter++;

    echo($counter2 . $row['foo']);
}

有没有更简单的方法可以为每个结果获得 1、2、3 等,或者这是最好的方法吗?

谢谢

【问题讨论】:

  • 你为什么不只使用$counter 变量?

标签: php while-loop


【解决方案1】:

您不需要 $counter2。 $counter++ 很好。如果您使用前增量而不是后增量,您甚至可以在与回声相同的行上执行此操作。

$counter = 0;   
while($row= mysql_fetch_assoc($result)) {
    echo(++$counter . $row['foo']);
}

【讨论】:

  • 您为什么获得了赞成票?你没有向他展示他的第一个错误 ($counter=2)?
  • 他在后递增 $counter,所以 $counter2 会在 $counter 递增之前得到它的值。此版本使用预增量,因此 $counter 在第一次回显之前会得到值 1。
  • 谢谢。我删除了我的答案,虽然我比你快,但没有人支持我。
【解决方案2】:

我知道这并不完全符合您的要求 - 但您为什么不简单地使用 for 循环而不是 while?

for ($i = 0; $row = mysql_fetch_assoc($result); ++$i) {
    echo $i . $row['foo'];
}

【讨论】:

  • 有趣地使用 for 构造。一定要记住那个。
猜你喜欢
  • 2021-01-23
  • 2014-02-14
  • 2016-04-02
  • 2013-02-03
  • 2014-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
相关资源
最近更新 更多