How do I get the value from object(stdClass)?

2020-02-08 23:07发布

问题:

Using PHP, I have to parse a string coming to my code in a format like this:

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

I'm sure there's a simple solution, but I can't seem to find it... how to get the Color and Name?

Thanks so much.

回答1:

You can do: $obj->Title etcetera.

Or you can turn it into an array:

$array = get_object_vars($obj);


回答2:

You create StdClass objects and access methods from them like so:

$obj = new StdClass;

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

I recommend subclassing StdClass or creating your own generic class so you can provide your own methods.

Turning a StdClass object into an array:

You can do this using the following code:

$array = get_object_vars($obj);

Take a look at: http://php.net/manual/en/language.oop5.magic.php http://krisjordan.com/dynamic-properties-in-php-with-stdclass



回答3:

Example StdClass Object:

$obj = new stdClass();

$obj->foo = "bar";

By Property (as other's have mentioned)

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

By variable's value:

$my_foo = 'foo';

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


标签: php parsing