【问题标题】:PHP for loop inside a while loopPHP for循环在while循环中
【发布时间】:2013-06-12 11:38:43
【问题描述】:

我对 PHP 还很陌生,为了更好地理解它,我正在构建一个小型应用程序,我可以在其中将电影添加到监视列表中,查看即将上映的电影,...

现在我正在尝试建立一个评分最高的列表,按评分从高到低的顺序列出用户添加的所有电影。

我现在的语法是:

<?php
          while($avr = mysql_fetch_array($rating)) {
            for ($i=1; $i<5; $i++){ ?>
            <li class="movie"><?php echo $i . ' - ' . $avr['title'] . '<div class="movie_rating">' . $avr['vote_avr'] . '</div>'; ?></li>
<?php } } ?>

"$i

我遇到的问题是每个“$avr['title']”的计数从 1 到 4。所以它在我的页面上打印每个电影标题 4 次。我只希望第一个电影标题是“1”,第二个是“2”,等等。

如果我将 for 循环放在 while 循环之外,每部电影都会是“1”。

所以我的问题是,如何将 for 循环集成到 while 循环中,每个 while 循环值只计数一次?

提前致谢。

【问题讨论】:

    标签: php for-loop while-loop


    【解决方案1】:

    您不需要 for 循环。您只需要一个计数器变量(我在这里将其命名为 $i),每次进入 while 循环时都会递增:

    $i = 0;
    while($avr = mysql_fetch_array($rating)) {
    ?>
        <li class="movie"><?php echo ++$i . ' - ' . $avr['title'] . '<div class="movie_rating">' . $avr['vote_avr'] . '</div>'; ?></li>
    <?php
        // Increment & Insert ---------^
    }
    

    【讨论】:

      【解决方案2】:

      你不需要 for 循环。

      <?php
            $i=1;
            while($avr = mysql_fetch_array($rating)) {            
              <li class="movie"><?php echo $i . ' - ' . $avr['title'] . '<div    class="movie_rating">' . $avr['vote_avr'] . '</div>'; ?></li>
      <?php  $i++;
        } ?>
      

      【讨论】:

      • +1 帮助我,我接受了 bwoebi 的答案,因为他的解决方案有点短。不过感谢您抽出宝贵时间回答我的问题。
      【解决方案3】:
      <?php
      $i = 1;
                while($avr = mysql_fetch_array($rating)) {
                    if($i < 5) {
      ?>
                    <li class="movie"><?php echo $i . ' - ' . $avr['title'] . '<div class="movie_rating">' . $avr['vote_avr'] . '</div>'; ?></li>
      <?php          $i++; } } ?>
      

      你也可以在你想要的iterations之后添加else clausebreak the loop

      【讨论】:

      • +1 帮助我,我接受了 bwoebi 的答案,因为他的解决方案有点短。不过感谢您抽出宝贵时间回答我的问题。
      猜你喜欢
      • 1970-01-01
      • 2012-10-02
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 2011-02-11
      • 2019-11-10
      相关资源
      最近更新 更多