PHP循环从0开始,而不是从1开始
尝试为每个必须从0开始的图像获取一个递增的数字,它当前从1输出,我不知道为什么 感谢您的帮助,提前谢谢PHP循环从0开始,而不是从1开始,php,loops,thumbnails,Php,Loops,Thumbnails,尝试为每个必须从0开始的图像获取一个递增的数字,它当前从1输出,我不知道为什么 感谢您的帮助,提前谢谢 <div id="carousel"> <ul class="thumbs"> <?php $counts = 0 ; ?> <?php foreach( $images as $image ): $counts++; ?> <li> &
<div id="carousel">
<ul class="thumbs">
<?php $counts = 0 ; ?>
<?php foreach( $images as $image ): $counts++; ?>
<li>
<a data-slide-index="<?php echo $counts ;?>" href="">
<img src="<?php echo $image['sizes']['thumbnail']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
-
因为您在echo
那么就这么做吧:
<?php $counts = -1 ; ?>
或者这个:
foreach( $images as $image )
{
echo '<li>
<a data-slide-index="' . $counts . '" href="">
<img src="' . $image['sizes']['thumbnail'] . '" alt="' . $image['alt'] . '" /></a>
</li>';
$counts++;
}
foreach($images作为$image)
{
回声'
';
$counts++;
}
而不是
<?php foreach( $images as $image ): $counts++; ?>
做
要在打印文本后增加
foreach( $images as $image ): $counts++;
在第一次迭代中运行。因此
$counts = 0;
foreach( $images as $image ): $counts++;
$counts == 1 // true on first iteteration
你可以这样做
$counts = -1 // Code smell!
或
在使用之前,先增加$counts
。从0开始,但只要启动foreach并运行$counts++代码>它变为1
移动$counts++
到foreach循环的末尾
<?php $counts = 0 ; ?>
<?php foreach( $images as $image ) : ?>
<li>
<a data-slide-index="<?php echo $counts; ?>" href="">
<img src="<?php echo $image['sizes']['thumbnail']; ?>" alt="<?php echo $image['alt']; ?>" />
</a>
</li>
<?php $counts++; ?>
<?php endforeach; ?>
像这样编写代码:
<div id="carousel">
<ul class="thumbs">
<?php $counts = 0 ; ?>
<?php foreach( $images as $image ) { ?>
<li>
<a data-slide-index="<?php echo $counts ;?>" href="">
<img src="<?php echo $image['sizes']['thumbnail']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
</li>
<?php $counts++; } ?>
</ul>
</div>
<?php endif; ?>
-
试试这段代码
<div id="carousel">
<ul class="thumbs">
<?php $counts = 0 ; ?>
<?php foreach( $images as $image ): $counts++; ?>
<li>
<a data-slide-index="<?php if($counts == 1){echo '0';}else {echo $counts
;} ?>" href="">
<img src="<?php echo $image['sizes']['thumbnail']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
-
$count++是否应该不在for循环的末尾?在使用计数器之前,您已经将计数器提高了1。将$counts++部分放在末尾。++$counts
根本不对-为什么不使用foreach的intead?您正在使用计数器重新创建车轮。@AaronW.这是不正确的。如果要切换到使用大括号,则需要删除endforeach。
<div id="carousel">
<ul class="thumbs">
<?php $counts = 0 ; ?>
<?php foreach( $images as $image ) { ?>
<li>
<a data-slide-index="<?php echo $counts ;?>" href="">
<img src="<?php echo $image['sizes']['thumbnail']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
</li>
<?php $counts++; } ?>
</ul>
</div>
<?php endif; ?>
<div id="carousel">
<ul class="thumbs">
<?php $counts = 0 ; ?>
<?php foreach( $images as $image ): $counts++; ?>
<li>
<a data-slide-index="<?php if($counts == 1){echo '0';}else {echo $counts
;} ?>" href="">
<img src="<?php echo $image['sizes']['thumbnail']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>