Définir une variable dans une boucle

Doherty222 -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

J'ai ici un exo avec une boucle de 500 nombres me demandant de mettre en gras les multiples de 5 et 7 : okay.
Par contre, on me demande de mettre en vert une ligne sur trois (donc 1,4,7,10,13...). Cependant, je n'arrive pas à définir ma variable $wat au bon endroit afin que cela fonctionne. Des idées? Merci à tous !

<html>
<head>
 <title> index.php </title>
</head>
<body>
 <?php
     for ($cpt=1;$cpt<=500;$cpt++) 
            {
     if ($cpt%5==0 || $cpt%7==0) 
            {
  echo "<b> $cpt </b> <br />";
     }
     $wat=$cpt+2;
     else if ($wat%3==0) 
           {
  echo "<font color=\"green\"> $cpt </font> <br />";
    }
     else
    { 
        echo "$cpt <br />";
    }
    }
 ?>
</body>
</html>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

     for ($cpt=1;$cpt<=500;$cpt++){
       if ($cpt%3){
         $color = "black";
       }else{
         $color = "green";
       }
       echo "<font color='$color'>$cpt</font><br>";
     }
    


    le même code peut aussi s'écrire via l'écriture TERNAIRE comme ceci :
     <?php
      for ($cpt=1;$cpt<=500;$cpt++){
       $color = $cpt%3 ? "black" : "green";
       echo "<font color='$color'>$cpt</font><br>";
      }
     ?>
    


    Cordialement, 
    Jordane                                                                 
    0
    1. Doherty222
       
      Merci de votre réponse.
      Cela affichera donc 3,6,9,12... en vert. Mais si je souhaite afficher 1,4,7,10,13 en vert, que puis-je faire? Où placer l'éventuelle nouvelle variable $wat=$cpt+2 ?
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > Doherty222
         
        Et bien il suffit de faire
        ($cpt-1)%3
        0