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 :

Afficher nom d'un define


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut Afficher nom d'un define
    Bonjour,

    J'ai une demande un peu bizarre vous allez me dire, mais je ne trouve pas comment faire.
    J'aimerai afficher le nom de la define, et non sa valeur.
    par exemple, j'ai une constante :
    define ('NOM_DU_DEFINE', 'Valeur du define');
    J'aimerai afficher dans ma page "NOM_DU_DEFINE" et non "Valeur du define".

    J'ai besoin de faire ca car j'ai une liste de constantes dans un array dont je connais pas leur nom, mais juste leur valeur, car ca execute la constante si je fait un echo dessus...

    Merci de votre aide

  2. #2
    Membre chevronné
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Salut,

    Il te suffit d'utiliser la fonction get_defined_constants() qui te retourne l'ensemble des "define" utilisés.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r(get_defined_constants());
    A++

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Mouai...
    Super, sauf qu'après je vais devoir m'amuser à trier dans mes 2080 constantes existantes... (pour info c'est un gros site).
    J'ai mieux fait de réecrire l'array

    Une autre proposition ?

    merci quand même

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    baaah si tu ne connais pas le nom de ta variable, c'est normal que tu puisses pas y accéder facilement

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    ben non je ne la connais pas car il se trouve à l'intérieur d'un array comme je l'avait dit au départ...
    cette array étant jamais pareil, il est difficile de savoir quel constantes il contient... et j'ai besoin de connaitre le nom de ces constantes pour faire le titre des colonnes d'un tableau.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Voici un exemple de ces array's contenant ces constantes :

    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
     
    	$aSup = array(	
    					CONST_PROD_1	=> 0,
    					CONST_PROD_2	=> 0,
    					CONST_PROD_3	=> 0,
    					CONST_PROD_5	=> 0,
    						);
    	$aInf = array(
    					CONST_INF_1   => $aSup, 
    					CONST_INF_2   => $aSup, 
    					CONST_INF_3   => $aSup,  
    					CONST_INF_6   => $aSup, 
    					CONST_INF_8   => $aSup, 
    					CONST_INF_9   => $aSup,
    						);
    Comme vous pouvez le voire, je récupère les valeurs des constantes, mais je peut pas afficher CONST_INF_8 par exemple

  7. #7
    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
    Par défaut
    A part stocker explicitement les deux informations je ne vois pas ce que tu pourrais faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $aSup = array(	
    	CONST_PROD_1	=> array('value'=>0, 'name'=>'CONST_PROD_1'),
    	CONST_PROD_2	=> array('value'=>0, 'name'=>'CONST_PROD_2')
    	);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Citation Envoyé par sabotage Voir le message
    A part stocker explicitement les deux informations je ne vois pas ce que tu pourrais faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $aSup = array(	
    	CONST_PROD_1	=> array('value'=>0, 'name'=>'CONST_PROD_1'),
    	CONST_PROD_2	=> array('value'=>0, 'name'=>'CONST_PROD_2')
    	);
    yep pas des masses de solution quand on connait pas ce qu'on va avoir... => tableaux

  9. #9
    Membre chevronné
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Vu que les clés de tes "array" correspondent au nom de tes constantes, un foreach devrait faire l'affaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($aSup AS $cle => $value) {
      echo $cle;
    }
    A++

  10. #10
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Ok merci pour vos réponses,

    Par contre c'est impossible de modifier les array car il faudrait changer tous le système auquel les dev de la boite se sont habitués, et ca fera changer pas mal de pages
    Et généralement on fait des modifs pour simplifier pas pour alourdir, surtout que mon système est une automatisation, donc je peut pas me permettre de faire quoi que ce soit au niveau du code parent.

    Et de toute manière en réfléchissant ce n'était même pas possible ce que j'aurai voulu car la constante array(CONSTANTE => 1) était transformé en array(1 => 1) avant même d'arriver dans le foreach, donc j'ai cherché pour rien

    m'enfin c'est pas grave j'ai trouvé une autre technique .

  11. #11
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Citation Envoyé par djayp Voir le message
    Vu que les clés de tes "array" correspondent au nom de tes constantes, un foreach devrait faire l'affaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($aSup AS $cle => $value) {
      echo $cle;
    }
    A++
    Ben non vu que $cle = à la valeur de la constante et non le nom de la constante, ce que j'aurai voulu.

  12. #12
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    erreur de synthaxe il me semble
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo ${$cle};
    // ou encore
    echo $$cle

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

Discussions similaires

  1. Afficher nom de fichier dans showmessage
    Par Nicolas01 dans le forum Delphi
    Réponses: 1
    Dernier message: 13/05/2007, 03h16
  2. [ETAT] afficher nom et année
    Par sumtech dans le forum IHM
    Réponses: 2
    Dernier message: 17/04/2007, 09h07
  3. Afficher NOM/PRENOM Dynamiquement ?
    Par Kenshin86 dans le forum SQL Procédural
    Réponses: 17
    Dernier message: 30/03/2007, 07h06
  4. afficher nom de variable
    Par amine_en_france dans le forum Langage
    Réponses: 1
    Dernier message: 19/03/2007, 17h37
  5. Afficher noms des tables d'une base
    Par jeff37 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/01/2004, 16h00

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