我需要在许多地方使用$ i ++的值,但是如果我这样做了,那么某些字段最终将跳过值,而不是1、2、3等,它们是1、3、5,其他字段具有值2、4、6等
<?php $i = 1; ?>
<?php while (have_rows( 'something' ) ): the_row(); ?>
<div>This number: <?php echo $i++; ?></div>
<div>Should be the same as this one: <?php echo $i++; ?></div>
<?php end while; ?>
如果我创建另一个变量,它可以工作,但是感觉就像是被黑客入侵了。
<?php $i = 1;
$x = 1;
?>
<?php while (have_rows( 'something' ) ): the_row(); ?>
<div>This number: <?php echo $i++; ?></div>
<div>Should be the same as this one: <?php echo $x++; ?></div>
<?php end while; ?>
有更好的方法吗?
答案 0 :(得分:3)
解决方案很简单-仅一次增加$i
:
<?php $i = 1; ?>
<?php while (have_rows( 'something' ) ): the_row(); ?>
<div>This number: <?php echo $i; ?></div>
<div>Should be the same as this one: <?php echo $i++; ?></div>
<?php end while; ?>
答案 1 :(得分:3)
您可以在循环结束时将增量作为离散步进行,这意味着您可以在不同的地方使用它,而不必担心何时更改值...
<?php $i = 1; ?>
<?php while (have_rows( 'something' ) ):
the_row(); ?>
<div>This number: <?php echo $i; ?></div>
<div>Should be the same as this one: <?php echo $i; ?></div>
<?php $i++; ?>
<?php end while; ?>
答案 2 :(得分:1)
一种干净的方法是在循环中回显$i
的值,并仅在最后增加它,仅作为一个步骤。这是一个好方法,不仅可以在PHP中使用,而且可以在一般的编程中使用。
<?php $i = 1; ?>
<?php while (have_rows( 'something' ) ): the_row(); ?>
<div>This number: <?php echo $i; ?></div>
<div>Should be the same as this one: <?php echo $i; ?></div>
<?php
$i++;
end while; ?>