Hello ! J'ai un magnifique objet $employe où je peux atteindre la valeur nom en via $employe->nom;. pour l'instant rien de miraculeux. comment faire si maintenant je récupère une chaine de caractères "nom" ou une autre propriété de l'objet ?
en gros j'ai :
$prop = "nom"; echo $employe->$prop;
mais ça marche pas bien sur. voili voilou. je sais jamais comment ce genre de techniques s'appelle c'est pour cela que je trouve jamais de réponse sur le net alors que ça doit etre tout con.
Miciii. Nicolas
# Hum
Posté par cho7 (site web personnel) . Évalué à 1.
<?
class Personne{
var $nom;
}
$blou = new Personne();
$blou->nom = "pouet";
$prop = "nom";
$chaine = "\$resultat = \$blou->$prop;";
eval($chaine);
echo $resultat;
?>
Je crois pas qu'on puisse mettre le eval() directement dans un echo, donc j'suis passé par une variable temporaire "$resultat".
[^] # Re: Hum
Posté par Nicolas Blanco (site web personnel) . Évalué à 2.
je vais aller me faire un café :D.
par contre j'ai un objet qui retourne un array depuis une fonction getArray et un $obj->getArray()[0] ne fonctionne pas. En passant par une variable temporaire pour stocker le tableau ça marche, mais directement je ne trouve pas...
[^] # Re: Hum
Posté par cho7 (site web personnel) . Évalué à 0.
Bon bah t'auras p't'être appris le fonctionnement de eval() ^^
[^] # Re: Hum
Posté par cho7 (site web personnel) . Évalué à 0.
Après m'être un peu documenté, je me corrige moi même en disant que si, c'est possible, avec l'instruction return.
Ce qui nous donne donc (pour coller au plus juste avec ta question) :
<?
class Employe{
var $nom;
}
$employe = new employe();
$employe->nom = "cho7";
$prop = "nom";
echo eval("return \$employe->$prop;");
?>
Enjoy.
[^] # Et en Python ?
Posté par dood . Évalué à 1.
Je voudrais faire la même chose en Python, en particulier pour passer en revue tous les attributs et toutes les méthodes d'un widget...
Guilhelm
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.