如何从object(stdClass)获取值?

时间:2011-10-31 15:46:59

标签: php parsing

使用PHP,我必须以这样的格式解析一个字符串:

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

我确信这是一个简单的解决方案,但我似乎无法找到它......如何获取颜色和名称?

非常感谢。

3 个答案:

答案 0 :(得分:53)

你可以这样做:$obj->Title等等。

或者你可以把它变成一个数组:

$array = get_object_vars($obj);

答案 1 :(得分:11)

您可以创建StdClass对象并从中访问方法:

$obj = new StdClass;

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

我建议继承StdClass或创建自己的泛型类,以便提供自己的方法。

将StdClass对象转换为数组:

您可以使用以下代码执行此操作:

$array = get_object_vars($obj);

看看: http://php.net/manual/en/language.oop5.magic.php http://krisjordan.com/dynamic-properties-in-php-with-stdclass

答案 2 :(得分:1)

示例StdClass对象:

$obj = new stdClass();

$obj->foo = "bar";

通过财产(正如其他人提到的那样)

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

按变量的值

$my_foo = 'foo';

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