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 :

[Tableaux] count()


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut [Tableaux] count()
    Bonjour je fais ce tuto sur les formulaires :
    http://julp.developpez.com/php/formulaires/#1
    mais il y a quelque chose de pas expliqué dans la doc comme dans le tuto !
    en effet count() renvoie un tableau donc pour le premier renvoie 0 et donc si dans la boucle c'est inferieur à 0 sa s'incrément mais si c'est 0 la boucle ne s'execute pas alors ?
    count() renvoie peut être 1 d'un tableau ?
    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
     
       <?php if($mon_champ) {
       echo "Vous avez choisi :";
       for ($i=0; $i<count($mon_champ); $i++) {
     
    echo "<br><b>".$mon_champ[$i]."</b>";
       }
      } ?>
     
         <form method="POST">
      <input type="checkbox" name="mon_champ[]" value="Option 1">Option 1<br>
      <input type="checkbox" name="mon_champ[]" value="Option 2">Option 2<br>
      <input type="checkbox" name="mon_champ[]" value="Option 3">Option 3<br>
      <input type="submit" value="OK">
      </form>
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    J'ai pas compris ce que tu voulais dire...
    count renvoie la TAILLE d'un tableau : http://fr.php.net/count
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut
    dans mon cas sa renvoie
    0;1;2
    Mais si je remplis la premiere checkbox, sa renvoie bien 0 ?

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    dans ton cas, ça renvoie 0;1;2...
    heu.... je comprend rien du tout à ce que tu dis...

    count va te renvoyer là taille de $mon_champ si toutefois celui-ci est un tableau, à noter : emploie des global_vars = très dangeureux !!!


    au vue de ton code, si tu coche une checkbox, count($mon_champ) vaudra 1, si tu en coche 2, ça reverra 2, etc...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    En effet, count() ne renvoie ni un tableau ni une suite de valeurs mais simplement la taille d'un tableau (son paramètre).
    Ce qui te permet de boucler n'est pas count() mais plutôt for : la fonction count() ne sert ici que de borne maximale, c'est-à-dire le nombre de fois que la boucle sera exécutée, mais elle ne créé pas la boucle.

    Le construct for contient 3 éléments :
    1. la borne de départ
    2. la borne de fin
    3. le pas
    Le seul truc qui change là-dedans, c'est la variable utilisée dans le pas (généralement $i)...

  6. #6
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut
    mais ou j'ai du mal c'est qu'un tableaux indexé s'initialise à 0
    donc count() devrait renvoyé null, puisque 0.
    Mais personne me dit si il doit renvoyer le nombre du tableau à partir de 0 ou de 1 ?
    Parcequ'il pointe sur le tableau qui est forcément 0?
    Donc sa doit renvoyer 0 et pas un
    qui est reset au démarage ????????????????????????

    J'essaie de comprendre ¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?
    PS : c'est le tuto de this.developpez.com

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut


    le nombre d'élément et les index c'est totalement indépendant !!!
    si ça te trouble que le premier élément d'un tableau ça soit 0, arrette la progra XD
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  8. #8
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut
    je suis pas troubler d'ailleurs c'est pas une bonne manière de faire, moi j'utiliserai un
    while(list(....,...)= each(...,...)) {
    et je boucle
    }
    C'est pas un problème de syntaxe mais le script qui me semble léger, j'entend qu'il amène des questions par sa limitation, qui n'ont peut être pas lieu

  9. #9
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    comment ça léger ? plus c'est léger mieux c'est nan ?

    au fait le while(list(...) = each(...)) est pas terrible, vaut mieux utiliser foreach maintenant
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  10. #10
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut
    Mon idée est pas dévaler un script même branlant sans comprendre, c'est légitime, NAN, puisqu'il marche j'essaie de voir le pourquoi et parfois sa me semble pas logique en rapport avec les explication de count() ?
    http://fr.php.net/manual/fr/function.count.php
    Maintenant je m'en contente, sa fait un peu punition quand même

  11. #11
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    count() retourne le nombre d'éléments dans var
    étant donné que là, ton tableau est remplie par identation automatique, les index iront de 0 à n-1 ou n est le nombre d'éléments dans ton tableau

    c'est ça qui te troublait ? sinon explique ce que tu ne comprend pas, parce que là... je comprend pas non plus lol [je sens que je vais finir dans le bétisier avec celle là]
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  12. #12
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut
    je vais arrèter de tourner en rond moi aussi...

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/09/2007, 19h12
  2. [Tableaux] count trop gourmande ?
    Par Anubis dans le forum Langage
    Réponses: 3
    Dernier message: 12/02/2007, 15h45
  3. [Tableaux] affichage tableau php apres requete sql count
    Par heteroclite dans le forum Langage
    Réponses: 1
    Dernier message: 13/09/2006, 20h53
  4. [Tableaux] count() sur une variable.
    Par mangafan dans le forum Langage
    Réponses: 2
    Dernier message: 03/07/2006, 17h28
  5. [Tableaux] Count dans un tableau
    Par krfa1 dans le forum Langage
    Réponses: 2
    Dernier message: 27/11/2005, 20h15

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