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] Problème lors d'appels de constantes


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Par défaut [Tableaux] Problème lors d'appels de constantes
    Bonjour,
    Etant donné que la fonction define() ne permet pas de creer une constante tableau, j'ai voulu feinter php : J'ai créé les constantes TAB_HEURES0, TAB_HEURES1...etc

    En fait j'utilise ces constantes dans une boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for($i=0;$i<9;$i++)
         {
    	$heureTravaille[$i]=new heureTravail ($date,TAB_HEURES.$i,TAB_HEURES.($i+1),$this->id_salarie);
     
         }
    Afin de lire toutes les constantes j'ajoute à TAB_HEURES le numero que je veux ($i). Malheureusement ça ne donne pas la valeur de la constante TAB_HEURES0 mais juste une string de valeur TAB_HEURES0.

    Donc, ça ne marche pas... Y'aurait il un moyen de contourner le problème???

    Merci de votre aide!

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    J'ai eu le meme probleme que toi il y a quelques jours et j'ai trouvé la fonction constant()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for($i=0;$i<9;$i++)
         {
    	$heureTravaille[$i]=new heureTravail ($date,constant("TAB_HEURES".$i),TAB_HEURES.($i+1),$this->id_salarie);
     
         }
    attention a éviter les erreurs en vérifiant AVANT si la constante est définie (avec defined)

    EDIT : sinon tu peux tres bien te faire une variable tableau qui sera considérée globale en ajoutant au début de tes fonctions et en incluant le fichier qui contient la constante (en include_once() ou require_once()) au début des fichiers qui l'utilisent

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Par défaut
    Sublime!!! Absolument sublimement adéquat!!!
    C'est parfait!

    J'avais pensé à la deuxième solution que tu as proposé mais je trouvais que ça faisait un peu "bourrin"...

    Vive la fonction constant () et un grand merci à toi Koopajah qui m'as encore une fois bien rendu service!!
    Bonne journée

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

Discussions similaires

  1. Problème lors d’appeler .apk+ Android
    Par ensinienne dans le forum Android
    Réponses: 5
    Dernier message: 25/01/2025, 07h15
  2. [Débutant] Problème lors d'appel de fonction dans page de démarrage.
    Par Vidou12 dans le forum VB.NET
    Réponses: 46
    Dernier message: 20/01/2015, 14h40
  3. Problème lors de l'appel d'une procédure stockée
    Par ToxiZz dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/05/2006, 23h42
  4. Réponses: 6
    Dernier message: 20/01/2006, 19h28
  5. [POO] Problème lors de l'appel d'une propriété d'un objet.
    Par akecoocoo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2005, 08h51

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