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 :

Sortir d'un if


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par défaut Sortir d'un if
    Bonjour à tous,

    je bloque sur un truc un peu bête mais ça m'économisera du temps si j'arrive à trouver une solution.

    Break et continue, je sais comment ça fonctionne, mais je voudrais l'équivalent du break pour un if.

    Je m'explique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if($nbr > 0)
    {
      // code A
    
      if($nbr >5) break;
    
      // code B
    
    }
    bien évidemment le break ne fonctionnera pas ici, mais je voudrais connaitre l'astuce pour sortir d'un if, pour que le code B ne soit pas exécuté.

    J'ai essayé de trouvé un exemple simple, je sais bien que dans ce cas précis je peux changer le if.

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Par défaut
    euh faire la condition inverse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if($nbr <=5)
        //code b
    !

  3. #3
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    euhh,

    break est continue sont pour les boucles.

    peu etre un goto si ça existe , mais a pres ça rend le code difficilement lisible si tu en abuse.


    autrement il faut peu etre presenter ton code autrement. tout simplement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if($nbr > 0)
    {
      // code A
     
      if($nbr >5) break;
     
      // code B
     
    }
    deviens


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if($nbr > 0)
    {
      // code A
     
      if($nbr <=5) {
     
      // code B
     
      }
    }

    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    switch ($nbr)
    {
     case 0 > 5 : 
      // code A
      // code B
      break;
     default:
      // code A
      break;
     
    }
    pour le switch case je ne connais pas la syntaxe exacte en php mais l'esprit est là.
    et l'aide sur le switch est là
    http://fr2.php.net/manual/fr/control...res.switch.php

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par défaut
    merci de répondre si rapidement, je comprend évidemment votre raisonnement, mais le soucis est que si je commence à utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if($nbr <=5) {
     
      // code B
     
    }
    je vais me retrouver avec vraiment beaucoup d'accolade dans mon script,

    j'ai des scripts qui font plusieurs centaines de lignes (parfois milliers) et si je commence à utliser des accolades pour régler ou mon soucis ou même des switch ça va encore plus surcharger le code.

    C'est pour cette raison que je voulais savoir s'il existe un mot clé pour sortir d'un if...

  5. #5
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Citation Envoyé par gianni7033 Voir le message
    merci de répondre si rapidement, je comprend évidemment votre raisonnement, mais le soucis est que si je commence à utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if($nbr <=5) {
     
      // code B
     
    }
    je vais me retrouver avec vraiment beaucoup d'accolade dans mon script,

    j'ai des scripts qui font plusieurs centaines de lignes (parfois milliers) et si je commence à utliser des accolades pour régler ou mon soucis ou même des switch ça va encore plus surcharger le code.

    C'est pour cette raison que je voulais savoir s'il existe un mot clé pour sortir d'un if...
    si ton code est bien découpé en fonction/procédure avec les commentaires qui vont bien ça peu rester lisible sans paraitre trop lourd.

    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
     
    // execute code A si Nbr > 0
    function code_A(int $Nbr) {
    if ($Nbr < 0) return;
     // code A
    }
     
    // execute Code B si 5>= Nbr > 0
    function code_B(int $Nbr) {
    if ($Nbr < 0) || ($Nbr > 5) return;
     // code B
    }
     
    ...
    // Va executer les fonctionalités code_A et code_B si NBr le permet
    code_A($Nbr); 
    code_B($Nbr);
    bon ne faisant pas de php on me pardonnera la syntaxe mais l'esprit est là

    autrement tu peux peu être jouer avec les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    if ($nbr < 0)  goto end;
    // Code A
    if ($Nbr > 5) goto end;
    // Code B
     
    end:
    ....
    mais il faut aimer les spaghettis car cela deviens vite illisible....

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par défaut
    ha ben merci, je pense qu'avec le goto ce sera encore mieux.

    Car j'ai besoin de sortir du if et non de la fonction

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    et si je commence à utliser des accolades pour régler ou mon soucis
    Je ne suis pas d'accord avec ce point de vue.
    Les accolades ne sont pas ici une bidouille pour "régler un problème" : elles sont la façon usuelle d'écrire en PHP des conditions imbriquées.
    Imbriquer ce n'est pas une vilaine chose ; faire des sauts dans le code par contre c'est discutable.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Je ne suis pas d'accord avec ce point de vue.
    Les accolades ne sont pas ici une bidouille pour "régler un problème" : elles sont la façon usuelle d'écrire en PHP des conditions imbriquées.
    Imbriquer ce n'est pas une vilaine chose ; faire des sauts dans le code par contre c'est discutable.
    pas uniquement en php, on retrouve ce concept de bloc dans plein de langage je crois

    et effectivement pour les goto, c'est mieux de pouvoir s'en passer.

  9. #9
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    Bonjour,

    Quleque chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if($nbr > 0) {
      // code A
     
      if($nbr >5) {
      } else {
    	// code B
      }
     
    }
    Fred

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

Discussions similaires

  1. [Function] N'arrive pas à sortir
    Par bouboussjunior dans le forum ASP
    Réponses: 3
    Dernier message: 14/06/2004, 17h36
  2. Comment sortir d'une dll ?
    Par Fred007 dans le forum Langage
    Réponses: 3
    Dernier message: 19/02/2004, 09h21
  3. Sortir d'un progamme qui boucle ou qui refresh
    Par mikevador02 dans le forum C
    Réponses: 12
    Dernier message: 14/12/2002, 10h38
  4. Empecher le curseur de sortir du dialog
    Par Gadjo dans le forum MFC
    Réponses: 5
    Dernier message: 18/11/2002, 19h01
  5. Sortir un typedef d'une classe
    Par Theophil dans le forum C++Builder
    Réponses: 13
    Dernier message: 03/07/2002, 18h21

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