循环使用$ I ++不止一次

时间:2019-11-01 19:37:24

标签: php

我需要在许多地方使用$ 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; ?>

有更好的方法吗?

3 个答案:

答案 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; ?>