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 :

continue; et incrementation dans une while loop !


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Points : 7
    Points
    7
    Par défaut continue; et incrementation dans une while loop !
    bonjour tout le monde

    y a t-il quelqu’un qui puisse me montrer pourquoi cette while loop ne fonctionne pas convenablement (se plante !!) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $a = array("one","two","three");
    $z = 0;
    while ($z <= count($a)-1)
    {
    if ($a[$z]=="two")
    	{
    continue;
    	}
    echo $a[$z]."<br>";
    $z++;
    }
    ?>
    et que ça ne fonctionne que si je la réécris comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $a = array("one","two","three");
    $z = -1;
    while ($z <= count($a)-2)
    {
    $z++;
    if ($a[$z]=="two")
    	{
    continue;
    	}
    echo $a[$z]."<br>";
    }
    ?>
    j aimerais comprendre la logique !

    merci infiniment !

  2. #2
    Membre actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Points : 275
    Points
    275
    Par défaut
    quand tu fais un 'continue' le code qui est après ne s'exécute pas, donc quand tu as ta condition =='two' tu n'incrémentes pas ton compteur ($z) et il reste toujours sur "1", tu refais un tour de while et tu tombes encore avec $a[$z] qui vaut 'two' et ainsi de suite, tu ne sors jamais de ta boucle.

    dans ton deuxième morceau de code tu incrémentes d'abord ton $z avant de faire la condition, donc, ça ne coince jamais.

    il suffirait de mettre dans ton premier code un $z++ dans le if avant le 'continue' pour que ça marche.

    j'espère que j'ai été clair

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Points : 7
    Points
    7
    Par défaut


    merci polkduran tu ma éclairé la lanterne

    j ai mal compris la docu sur php.net

    continue

    L'instruction continue est utilisée dans une boucle afin d'éluder les instructions de l'itération courante et de continuer l'exécution à la condition de l'évaluation et donc, de commencer la prochaine itération.
    j ai cru que "continue" fais l’incrémentation elle même !

    merci encore !

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

Discussions similaires

  1. [MySQL] incrementation dans une boucle while
    Par PUARAI dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/03/2010, 22h39
  2. Incrementation dans une page SWING
    Par anapotheque dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 20/02/2007, 14h57
  3. [SQL Server] auto increment dans une vue
    Par pimousse_cerise dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/05/2006, 10h18
  4. 2 auto increment dans une meme table
    Par gesualda dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 12/10/2005, 09h31
  5. [Sybase] Select dans une select loop en C
    Par Claudio dans le forum Sybase
    Réponses: 2
    Dernier message: 29/04/2003, 18h06

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