如何在php中访问名为变量的对象属性?

时间:2010-08-18 19:25:59

标签: php json google-api

以JSON编码的Google API返回了一个对象,例如

[updated] => stdClass Object
(
 [$t] => 2010-08-18T19:17:42.026Z
)

任何人都知道如何访问$t值?

$object->$t显然会返回

  

注意:未定义的变量:/ usr / local /...

中的t      

致命错误:无法访问/....

中的空属性

5 个答案:

答案 0 :(得分:180)

由于您的属性名称是字符串'$t',因此您可以像这样访问它:

echo $object->{'$t'};

或者,您可以将属性的名称放在变量中并使用它:

$property_name = '$t';
echo $object->$property_name;

您可以在repl.it上看到这两个操作:https://repl.it/@jrunning/SpiritedTroubledWorkspace

答案 1 :(得分:18)

你试过了吗?

$t = '$t'; // Single quotes are important.
$object->$t;

答案 2 :(得分:4)

我正在使用php7,以下对我来说很好用:

class User {
    public $name = 'john';
}
$u = new User();

$attr = 'name';
print $u->$attr;

答案 3 :(得分:4)

正确答案(同样适用于PHP7)是:

$obj->{$field}

答案 4 :(得分:0)

这适用于php 5和7

$props=get_object_vars($object);
echo $props[$t];