web-dev-qa-db-fra.com

Comment puis-je obtenir la valeur de object (stdClass)?

En utilisant PHP, je dois analyser une chaîne venant de mon code dans un format comme celui-ci:

object(stdClass)(4) { ["Title"]=> string(5) "Fruit" ["Color"]=> string(6) "yellow" ["Name"]=> string(6) "banana" ["id"]=> int(3) }

Je suis sûr qu'il existe une solution simple, mais je n'arrive pas à la trouver. Comment obtenir la couleur et le nom?

Merci beaucoup.

25
dwarbi

Vous pouvez faire: $obj->Title etcetera.

Ou vous pouvez le transformer en tableau: 

$array = get_object_vars($obj);
52
Neal

Vous créez des objets StdClass et accédez à leurs méthodes de la manière suivante:

$obj = new StdClass;

$obj->foo = "bar";
echo $obj->foo;

Je recommande de sous-classer StdClass ou de créer votre propre classe générique afin que vous puissiez fournir vos propres méthodes.

Transformer un objet StdClass en un tableau:

Vous pouvez le faire en utilisant le code suivant:

$array = get_object_vars($obj);

Jetez un coup d'œil à: http://php.net/manual/fr/language.oop5.magic.phphttp://krisjordan.com/dynamic-properties-in- php-with-stdclass

11
user542603

Exemple d'objet StdClass:

$obj = new stdClass();

$obj->foo = "bar";

Par la propriété (comme d'autres l'ont mentionné)

echo $obj->foo; // -> "bar"

Par la valeur de la variable :

$my_foo = 'foo';

echo $obj->{$my_foo}; // -> "bar"
0
mfink