Question sur la gestion des cas (case ... switch) en PHP

Question sur la gestion des cas (case ... switch) en PHP - PHP - Programmation

Marsh Posté le 23-04-2004 à 00:08:17    

:hello:
 
Soit le code suivant :
 

switch($mode) {
    case '1':
        // Instructions ...
    break;
 
    case '2':
        // Instructions ...
    break;
 
    case '3':
        // Traitements divers
        if($var == $x) {
            ?????????  
        }
    break;
 
    case '4':
        // Instructions ...
    break;
}


 
Si $mode vaut 3, je souhaiterais sortir du switch (mais sans quitter le script, afin de ne pas perdre les traitements effectués et les variables qui en résultent), puis re*rentrer dans le switch avec $mode = 2 par exemple. C'est possible ? :)


Message édité par Core 666 le 23-04-2004 à 00:09:08
Reply

Marsh Posté le 23-04-2004 à 00:08:17   

Reply

Marsh Posté le 23-04-2004 à 00:10:29    

Le changement de la valeur de $mode se ferait a quel moment et de quel manière ?

Reply

Marsh Posté le 23-04-2004 à 00:44:21    

Le changement se ferait si une condition est vérifiée dans mon "case '3'". Pour la manière, c'est justement la question que je me pose :p

Reply

Marsh Posté le 23-04-2004 à 00:51:28    

Je vois bien un truc de ce genre là
 

Code :
  1. do{
  2.   $mode_initial=$mode;
  3.   switch($mode) {
  4.       case '1':
  5.           // Instructions ...
  6.       break;
  7.       case '2':
  8.         // Instructions ...
  9.       break;
  10.       case '3':
  11.           // Traitements divers
  12.           if($var == $x) {
  13.               ????????? 
  14.           }
  15.       break;
  16.  
  17.       case '4':
  18.           // Instructions ...
  19.       break;
  20.   }
  21. }
  22. while($mode!=$mode_initial);


 
Ensuite il faut que tu adaptes à tes besoins, ici le parcours du switch se fera tant que la valeur de $mode sera modifié à l'interieur de celui-ci

Reply

Marsh Posté le 09-05-2004 à 16:14:09    

Ca marcherait pas ça : ?
 

Code :
  1. switch($mode) {
  2.     case '1':
  3.         // Instructions ...  
  4.     break;
  5.     case '3':
  6.         // Traitements divers  
  7.         if($var == $x) {
  8.             $mode = 2; 
  9.         } else {
  10.             break
  11.         }
  12.     case '2':
  13.         // Instructions ...  
  14.     break;
  15.     case '4':
  16.         // Instructions ...  
  17.     break;
  18. }


Message édité par dweis le 09-05-2004 à 16:14:27
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed