nom de propriété dynamique

Invité
Invité n'ayant pas de compte PHPfrance

21 sept. 2009, 13:37

Bonjour à tous,
j'ai une ligne comme ceci dans une fonction:

return $row->name;

Comment puis-je écrire cette ligne pour que la propriété de l'objet $row soit définie dynamiquement.
J'ai tenté ceci qui ne marche pas:

$param = "name";
return $row->$param;

merci pour vos réponses.

ViPHP
ViPHP | 3607 Messages

21 sept. 2009, 13:59

Il faudrait que tu nous montres un peu plus de code...
Tu as peut-être moyen de faire un tableau associatif sinon...?

Invité
Invité n'ayant pas de compte PHPfrance

21 sept. 2009, 14:09

Merci pour ta réponse mais est tu sûr qu'il y a vraiement besoin de plus de code?

Je veux juste passer la valeur de $param dynamiquement comme ceci:
function maFonction ($param)
{
      $row = new object();
      return $row->$param   //ligne qui me pose pb au niveau syntaxe
}

Invité
Invité n'ayant pas de compte PHPfrance

21 sept. 2009, 14:43

Je crois que j'ai compris ce que tu voulais dire. A partir de ta suggestion, j'ai tenté ceci qui n'a pas marché non plus:
function maFonction ($param)
{
      $tab = array($param);
      $row = new object();
      return $row->$tab[0]   //ligne qui me pose pb au niveau syntaxe
}



Invité
Invité n'ayant pas de compte PHPfrance

21 sept. 2009, 14:51

Si vous allez ici:
http://www.php.net/manual/en/language.v ... .php#91746

On peut voir le commentaire suivant:
If $something is 'myvar' then you can use $obj->{"_$something"} to get the value of $obj->_myvar without having to use eval.
J'ai donc tenté ceci qui ne marche pas non plus:
function maFonction ($param)
{
      $row = new object();
      return $row->{"$param"}   //ligne qui me pose pb au niveau syntaxe
}

Invité
Invité n'ayant pas de compte PHPfrance

21 sept. 2009, 14:58

toutes mes excuses, ça marche!