[ PHP ] Comment sauter des lignes de commande

Résolu
Bonjour, voilà j'ai un problème, j'aimerais savoir s'il existe en PHP une commande du genre "GOTO LABEL" qu'il y avait sur les calculatrices programmables. Car j'aimerais faire ceci:

Si condition 1 NON OK -> ELSE
Si condition 1 OK -> Si condition 2 OK -> Liste d commande
-> Si condition 2 NON OK -> Aller au ELSE aussi

En php ca donne un peu près ça mais j'aimerais savoir ce que je peux utiliser pr remplcer le Goto Else que j'ai mis

if (condition 1 réalisée}
{
Liste d'instructions
If (condition 2 réalisée)
{
liste d'instructions
}
GOTO Suite
}

LABEL Suite
else
{
autre série d'instructions
}

5 réponses

  1. Modérateur
    Salut,

    Il n'y a pas de goto en Php.
    Si tu as besoin d'un goto c'et que tu as un soucis dans ton algorithme.

    Tu as plusieurs moyens comme mettre les intructions de ton else dans une fonction et d'executer cette fonction dans les else qui correspondent à tes deux conditions.
    1
    1. L'instruction goto arrive avec PHP 5.3
      Un exemple là: http://www.karedas.net/273-php-53-–-l’instruction-goto
      1
      1. Modérateur
        kylian a raison, en général on peut s'en sortir avec un break ou un continue, ou alors c'est l'architecture du programme qui doit être revue.

        https://www.php.net/manual/fr/control-structures.continue.php
        https://www.php.net/manual/fr/control-structures.break.php

        Bonne chance
        0
        1. Modérateur
          Hé ça me va pas mal le "y" :-)

          En fait je crois que les switch et continue sont réservés aux blocs for, while, switch et foreach.
          0
        2. Modérateur
          @kilianOups :-) Désolé kilian :-/

          Oui en effet les instructions break et continue interviennent uniquement dans des boucles ou des switch.
          0
      2. Merci je vais assayer de m'en sortir comme ça sinon je vais essayer de changer l'archiecture dans ce cas
        0
        1. il existe pas de goto en php, il ya certain probleme qu'on peut resoudre facilement avec l'instruction GOTO, il reste d'autre solutions avec des if er else
          merci
          0