web-dev-qa-db-fra.com

Comment incrémenter un nombre de 2 dans un PHP Pour boucle

Ce qui suit est une version simplifiée de mon code:

<?php for($n=1; $n<=8; $n++): ?>
    <p><?php echo $n; ?></p>
    <p><?php echo $n; ?></p>
<?php endfor; ?>

Je veux que la boucle s'exécute 8 fois et que le nombre du premier paragraphe soit incrémenté de 1 à chaque boucle, par ex.

1, 2, 3, 4, 5, 6, 7, 8 (c'est évidemment simple)

Cependant, je veux que le nombre dans le deuxième paragraphe soit incrémenté de 2 à chaque boucle, par exemple ...

1, 3, 5, 7, 9, 11, 13, 15

Je n'arrive pas à comprendre comment faire en sorte que le nombre du deuxième paragraphe augmente de 2 à chaque boucle. Si je le change en $ n ++, il incrémente de 2, mais la boucle ne s'exécute que 4 fois au lieu de 8.

Toute aide serait très appréciée. Merci!

23
user2586455
<?php
  for ($n = 0; $n <= 7; $n++) {
    echo '<p>'.($n + 1).'</p>';
    echo '<p>'.($n * 2 + 1).'</p>';
  }
?>

Premier paragraphe:

1, 2, 3, 4, 5, 6, 7, 8

La deuxième paragraphe:

1, 3, 5, 7, 9, 11, 13, 15
15
Legionar

Vous devriez le faire comme ça:

 for ($i=1; $i <=10; $i+=2) 
{ 
    echo $i.'<br>';
}

"+ =" vous pouvez augmenter votre variable autant ou moins que vous voulez . "$ i + = 5" ou "$ i + =. 5"

44
AntonioAvp

Vous devriez utiliser une autre variable:

 $m=0; 
 for($n=1; $n<=8; $n++): 
  $n = $n + $m;
  $m++;
  echo '<p>'. $n .'</p>';
 endfor;
0
Manolo

Solution simple

<?php
   $x = 1;
     for($x = 1; $x < 8; $x++) {
        $x = $x + 1;
       echo $x;
     };    
?>
0
Oladimeji Ajeniya

Une autre solution simple avec +=:

$y = 1;

for ($x = $y; $x <= 15; $y++) {
  printf("The number of first paragraph is: $y <br>");
  printf("The number of second paragraph is: $x+=2 <br>");
} 
0
Manuel