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 :

Boucle while


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 120
    Points : 68
    Points
    68
    Par défaut Boucle while
    j'ai trouvé sur internet un petite boucle while que je comprend pas;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while(1)
    {
    ...
    }
    qu'elle est la signification de while(1) en général aussi je sais que c'est un peu banale mais si on utilise continue dans une boucle while avec un bloc if est ce continue permet d'arreter l'itération courante é passer a la suivante?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 50
    Points : 56
    Points
    56
    Par défaut
    Salut,
    La boucle while tourne tant que ce qui se trouve entre les parenthèses renvoi vrai. Or "vrai" en php est représenté par "true" ou "1": donc une boucle while(1) {} tourne indéfiniement.
    Sinon, dans mes souvenirs le mot clé "continue" permet effectivement de d'arrêter le tour courant et de passer au suivant.

    P.S: Effectivement alceste, continue arrête le tour, pas l'itération elle même

  3. #3
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut
    l'instruction continue, n'interrompt en aucun cas l'itération, elle passe juste au tour suivant, la seule instruction qui interrompt une itération est break.

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 120
    Points : 68
    Points
    68
    Par défaut
    la boucle que je comprend pas se trouve dans la deuxieme function:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
     function getc() 
    		{
            return fgetc($this->sock);
            }
     
            function lire_juska($what) 
    		{
            $buf = '';
                    while (1) {
                            $IAC = chr(255);
     
                            $DONT = chr(254);
                            $DO = chr(253);
     
                            $WONT = chr(252);
                            $WILL = chr(251);
     
                            $theNULL = chr(0);
     
                            $c = $this->getc();
     
                              if ($c === false)
                              return $buf;
     
                              if ($c == $theNULL) 
    						  {
                              continue;
                              }
     
                              if ($c == "\021") 
    						  {
                              continue;
                              }
     
                              if ($c != $IAC) 
    						  {
                              $buf .= $c;
     
                                    if ($what == (substr($buf,strlen($buf)-strlen($what)))) 
    								{
                                    return $buf;
                                    }
    								else 
    								{
                                    continue;
                                    }
                               }
     
                            $c = $this->getc();
     
                            if ($c == $IAC) 
    						{
                            $buf .= $c;
                            }
    						else if (($c == $DO) || ($c == $DONT)) 
    						{
                            $opt = $this->getc();
                            // echo "we wont ".ord($opt)."\n";
                            fwrite($this->sock,$IAC.$WONT.$opt);
                            } 
    						elseif (($c == $WILL) || ($c == $WONT)) 
    						{
                            $opt = $this->getc();
                            // echo "we dont ".ord($opt)."\n";
                            fwrite($this->sock,$IAC.$DONT.$opt);
                            } 
    						else 
    						{
                            // echo "where are we? c=".ord($c)."\n";
                            }
                    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 50
    Points : 56
    Points
    56
    Par défaut
    Le "continue" est utilisé dans les if pour retourner au début de la boucle sans éxécuter le code suivant le if.

  6. #6
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 120
    Points : 68
    Points
    68
    Par défaut
    et pour le while est ce une boucle indéfini?? la fonction lire juska permet de retourner le contenu d'une socket(un fichier pointer sur la connexion ouverte) jusqu'a la chaine $what.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 50
    Points : 56
    Points
    56
    Par défaut
    Je dois avouer que je n'ai pas essayer de comprendre le code mais oui la boucle tournera jusqu'à ce qu'elle rencontre l'un des "return" qui de toute façon stoppe la fonction contenant la boucle while.

  8. #8
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 120
    Points : 68
    Points
    68
    Par défaut
    donc c'est le return qui va stopper la boucle while, je vois maintenant merci pour ton aide.

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

Discussions similaires

  1. boucle while trop lente
    Par atouze dans le forum Access
    Réponses: 17
    Dernier message: 15/06/2005, 16h35
  2. Boucle while & read
    Par gibet_b dans le forum Linux
    Réponses: 4
    Dernier message: 29/04/2005, 15h38
  3. boucle while et post incrémentation
    Par tut dans le forum C++
    Réponses: 7
    Dernier message: 10/12/2004, 17h24
  4. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51
  5. [débutant]Documentation? boucle "while"? Session?
    Par o151181 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/01/2004, 15h20

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