IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Boucle for dans condition de if


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 14
    Points : 14
    Points
    14
    Par défaut [Tableaux] Boucle for dans condition de if
    Salutations!

    Une petite question :

    Je voudrais réaliser l'équivalent de cette phrase en Php:

    $n=7

    "if($var != $test1 OR $test2 OR $test3 OR $test4 (... jusqu'à $testn))
    {
    }

    L'idéal serait pour moi de faire tenir une boucle for entre les () de if qui incrémenterait le chiffre de 1 à n mais est-ce possible? Quelle est la bonne syntaxe? Ou alors dois-je passer par une fonction?

    Avec mes remerciements,

    Leno

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonjour,
    je pense qu'il serait nettement plus intéressant de travailler avec des tableaux et une petite fonction, surtout si vous avez plus de dix conditions ou que le nombre est dynamique, sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
     
      if
      (
        $val != $test1 &&
        $val != $test2 &&
        $val != $test3 &&
        $val != $test4 &&
        $val != $test5 &&
        $val != $test6 &&
        $val != $test7 &&
        $val != $test8 &&
        $val != $test9
      )
      echo $val;
     
    ?>
    Pour le reste, je n'ai jamais essayé de placer une boucle dans une condition, je ne pense pas cela faisable.

    Cordialement,
    DaRiaN.

  3. #3
    Membre actif Avatar de elvan49
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 274
    Points : 204
    Points
    204
    Par défaut c'est l'inverse qu'il faut faire
    Bonjour,

    Ce n'est effectivement pas possible de placer une boucle dans ta condition.
    En revanche l'inverse est tout à fait envisageable... Mais il faut effectivement travailler avec un tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // tu as au préalable créé un tableau $tableauTest à $n entrées en lui affectant tes variables $tests.
    $n = 10; // par exemple mais $n peut récupérer l'info...
    for ($i=0; $i<count($tableauTest); $i++){
         if ($var != $tableauTest[$i]){
              // instructions;
         }
         else {
              // sinon instructions;
         }
    }
    Enfin... il me semble. C'est sûr ça rallonge un brin...

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 895
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 895
    Points : 16 358
    Points
    16 358
    Par défaut
    Je pense qu'il est aussi possible de faire ta boucle en dehors du if, de mettre ta condition dans une variable et d'utiliser eval(), mais je ne suis pas certain de la syntaxe.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Utiliser des tableaux c'est toujours plus simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
     
      $val = 30;
     
      $test1 = 31;
      $test2 = 32;
      $test3 = 33;
      $test4 = 34;
      $test5 = 35;
      $test6 = 36;
      $test7 = 37;            
     
      $tests = array($test1, $test2, $test3, $test4, $test5, $test6, $test7);
     
      if (!in_array($val, $tests)) echo $val;
     
    ?>

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Merci!
    Je vous remercie pour vos réponses, je vais plancher dessus (débutante oblige!...).

    Bonne fin de journée,

    Leno.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucle For dans une condition de IF
    Par cloclo23 dans le forum Langage
    Réponses: 5
    Dernier message: 18/05/2012, 10h01
  2. Utilisation des boucles for dans les tableaux VBA
    Par vodulci09 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/04/2012, 20h42
  3. Imbriquer une boucle for dans une condition if ?
    Par helkøwsky dans le forum Langage
    Réponses: 2
    Dernier message: 28/06/2010, 15h18
  4. [Tableaux] Utiliser une boucle for dans un echo
    Par maoboy dans le forum Langage
    Réponses: 7
    Dernier message: 18/06/2007, 13h55
  5. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo