[英]PHP for loop inside a while loop
我是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 <5;” 在for循环中,此刻将对其进行硬编码以进行测试,它将被替换为变量。
我的问题是,每个“ $ avr ['title']”的计数从1到4。 因此它将每个电影标题打印4次在我的页面上。 我只希望第一个电影标题为“ 1”,第二个电影标题为“ 2”,依此类推。
如果将for循环置于while循环之外,则每部电影均为“ 1”。
所以我的问题是,如何将for循环集成到while循环中,而while循环仅对每个while循环值计数一次?
提前致谢。
您不需要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 ---------^
}
您不需要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++;
} ?>
<?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++; } } ?>
您也可以添加else clause
以在所需的iterations
后break the loop
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.