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 :

fonction count() me retourne toujours 1


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Points : 20
    Points
    20
    Par défaut fonction count() me retourne toujours 1
    Bonjour a tous et joyeux Noel !

    J'ai un petit bout de code ici qui stock le nom de mes fichiers (situés dans un dossier) dans un tableau, et je voudrais tout simplement compter le nombre d'éléments dans le tableau.

    J'ai essayer la fonction count(), sizeof() mais cela me retourne toujours 1.

    Quelqu'un aurait une idée de la source du problème?

    Merci bien.

    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
     
    <?php
     
    if ($handle = opendir('dossier'))
    {
     
    	$i = 1;
    	$img = array();
        /* Ceci est la façon correcte de traverser un dossier. */
        while (false !== ($file = readdir($handle))) 
    	{
            if ($file != "." && $file != "..")
    		{
    			$img[i] = $file;
    			echo "$img[i]\n";
     
    			$i++;
    		}
        }
        closedir($handle);
     
    }
     
    $taille = count($img);
    echo $taille;
     
    ?>

  2. #2
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $img[i] = $file;
    echo "$img[i]\n";
    Erreur d'inattention ou confusion avec Javascript mais l'indice (ou la clé) c'est $i (et non i).

    Aussi, commence l'indexation par 0 et non 1 ($i = 0), le tableau sera parfaitement indicé.
    Ca peut être piégeant.
    Que l'indice commence par 0 n'est pas un problème, ça sera le 1er élément quand même.
    Mais ça reste un détail néanmoins.



    Noël étant passé (vitesse grand V, comme d'hab), faut dire : Bonne Année maintenant.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Points : 20
    Points
    20
    Par défaut
    Merci Chef, ca m'a effectivement echappé .

    Bonne année à toi aussi !

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

Discussions similaires

  1. [MySQL-5.1] COUNT() qui retourne toujour le même résultat
    Par Invité dans le forum Requêtes
    Réponses: 0
    Dernier message: 20/06/2013, 14h10
  2. ma fonction retourne toujours null
    Par haco28 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 13/08/2009, 11h53
  3. [XSLT]fonction contains retourne toujours false
    Par wildmary dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 01/08/2007, 11h22
  4. fonction retournant toujours 0.000 ?
    Par _SamSoft_ dans le forum C
    Réponses: 49
    Dernier message: 22/02/2007, 20h52
  5. Requête à plusieurs colonnes avec la fonction COUNT
    Par zigune dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/11/2004, 10h43

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