2011-10-31 179 views
18

使用PHP,我不得不解析字符串来我的代码的格式是这样的:如何从对象(stdClass)中获取值?

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

我敢肯定有一个简单的解决方案,但我似乎无法找到它......如何获取颜色和名称?

非常感谢。

+1

你试过$ obj-> Title $ obj-> Color –

+0

如果您发布您正在使用的代码片段来生成t帽子输出。 – 0xd

+0

等一下,什么?你必须“*解析*”一个字符串?或者这是一个实际的对象变量? – mario

回答

39

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

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

$array = get_object_vars($obj); 
+0

谢谢! $ obj->标题为我做。 – dwarbi

+0

@dwarbi没有问题^ _^ – Neal

+0

尼斯...也为我工作 – deemi

10

你从他们创造一个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

+0

谢谢你的帮助!我只需要$ obj-> Title,但很高兴知道未来的其他信息。 – dwarbi