Afficher le nom d'une variable - PHP - Programmation
Marsh Posté le 12-05-2004 à 15:43:02
|
en esperant que tu comprennes le mecanisme
Marsh Posté le 12-05-2004 à 16:22:21
deja ecrit bien
ensuite ben, tu n'a qu'a rapeller ta fonction plusieur fois
Marsh Posté le 12-05-2004 à 16:23:38
$toto = 'camembert';
$tata = 'vinasse';
$titi = 'accordéon';
test($toto);
test($tata);
test($titi);
-->
La variable $toto vaut 'camembert'.
La variable $tata vaut 'vinasse'.
La variable $titi vaut 'accordéon'.
Marsh Posté le 12-05-2004 à 16:27:38
à la base, je ne connais pas le contenu de mes variables (elles sont définies dans des fonctions plutôt complexes)
Marsh Posté le 12-05-2004 à 17:06:12
A priori c'est impossible, la fonction test n'est pas en mesure de connaître le nom de la variable dans la procédure appelante.
Code :
|
Marsh Posté le 12-05-2004 à 17:43:44
OK djdie, dommage...
Et avec le "&" de &$ma_var, est-ce qu'il n'y a pas moyen de bidouiller ?
Marsh Posté le 12-05-2004 à 23:36:31
Non rien à voir, ça c'est si tu passes des variables par référence, mais tu n'as toujours aucun moyen de connaître le nom de la variable avant l'appel de la fonction (du moins je ne vois pas comment).
Ce que tu essaies de faire est par exemple possible en C avec des macros, mais cela n'existe pas en PHP...
Ceci dit si tout cela sert à déboguer regarde du côté de var_dump peut-être... C'est assez utile.
Marsh Posté le 13-05-2004 à 00:12:01
Peut-être qu'il y aurait moyen de passer seulement le nom de la variable, et d'essayer de récupérer la valeur avec un eval. Mais il faut faire d'abord un global. Ca peut marcher, je n'ai jamais essayé.
Un truc dans le genre :
Code :
|
Marsh Posté le 13-05-2004 à 07:44:52
Ceci marche :
Code :
|
Edit : ça ne marchera que si $mavar est définie globalement, a priori.
Marsh Posté le 13-05-2004 à 09:46:01
OK, merci beaucoup. Les deux solutions marchent.
Voici ma fonction de débugage, à réutiliser comme bon vous semble :
/** |
Marsh Posté le 13-05-2004 à 10:10:17
oui bon ça évidemment ça marche, mais alors si tu as partout des variables globales, avant de commencer à déboguer, commence par re-réfléchir à la structure de ton code !!!
Marsh Posté le 13-05-2004 à 13:49:22
Rectif : les deux solutions marchent selon la config du serveur PHP.
Sinon, il faut déclarer la var à tester en global dans la fonction de test (comme prévu dans le script), mais aussi dans la fonction appelante...
Marsh Posté le 12-05-2004 à 15:39:16
Bonjour,
je voudrais récupérer le nom d'une variable sous forme d'une chaîne.
Autrement dit, comment programmer ma fonction test() pour obtenir ce résultat :
- appel :
$toto = 'plop';
test($toto);
- résultat (affichage) :
La variable $toto vaut 'plop'.
Message édité par nagadoudi le 12-05-2004 à 15:39:52