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 :

++ sur une variable non définie


Sujet :

Langage PHP

  1. #1
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut ++ sur une variable non définie
    Bonjour,
    J'ai un tableau qui est a peu pres comme ca :
    0=>array("date"=>"21/06/2008", "critere"=>1)
    1=>array("date"=>"26/06/2008", "critere"=>2)

    Je compte le nombre de critere 1 et 2 par date en procédant comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach ($tableau as $row) {
       $date = $row['date'];
       if ($row['critere'] == 1) {
              $critere1[$date]++;
       }
       elseif ($row['critere'] == 2) {
              $critere2[$date]++;
       }
    }
    Malheureusement cela génère un avertissement à chaque fois qu'on tombe la premiere fois sur une date, disant, par exemple, que "26/06/2008" n'existe pas dans $critere1.

    Verriez-vous une écriture qui me permette de ne pas avoir cette protestation (autre que de masquer l'erreur) sans avoir a manuellement initialiser $critere1 et $critere2 pour toutes les "date" contenues dans $tableau ?

    Merci.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Salut,

    Personnellement, je ne vois pas de solution, et je trouve déjà que tu as de la chance qu'une variable indéfinie auto-incrémentée prenne la valeur 1... Je ne suis pas sûr que ce soit un comportement déterminé.

    Sinon, qu'est-ce qui te gêne dans le fait de faire quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $critere1[$date] = isset($critere1[$date])?($critere1[$date]+1):1;
    Dire que je déteste l'opérateur ternaire...

  3. #3
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut
    en même temps la proposition que tu fais est la mieux
    il est déjà bien cool que dans le cas de sabotage php retourne 1
    du coup je conseille également la méthode de Eusebe

    je sais mon message ne sert à rien, mais j'y ai réfléchi et j'en suis arrivé à la même conclusion que Eusebe
    Pour voir qu'il fait noir, on n'a pas besoin d'être une lumière

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    je trouve déjà que tu as de la chance qu'une variable indéfinie auto-incrémentée prenne la valeur 1
    D'ailleurs de mémoire ca ne fonctionne pas en decrementation

    Je ne vois effectivement comme solution que ajouter la condition mais ca alourdit quand meme le code.

    Merci lapin.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [MySQL] Erreur sur variable non défini - défini
    Par BXDSPORT dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/07/2011, 15h38
  2. Interruption d'une boucle - variable non définie
    Par Sérendipité dans le forum Programmation multimédia/Jeux
    Réponses: 14
    Dernier message: 16/04/2011, 22h53
  3. Test multiple sur une variable non définie
    Par Rei Angelus dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 12/12/2007, 22h01
  4. une variable non définie?
    Par Maxence45 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 25/11/2007, 12h23
  5. [HTML] boucle sur une variable et non pas un tableau
    Par delma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/11/2006, 15h03

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