开发者

How can I access an object property named as a variable in php?

A Google APIs encoded in JSON returned an 开发者_StackOverflowobject such as this

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

Anyone knows how can I access the $t value?

$object->$t obviously returns

Notice: Undefined variable: t in /usr/local/...

Fatal error: Cannot access empty property in /....


Since the name of your property is the string '$t', you can access it like this:

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

Alternatively, you can put the name of the property in a variable and use it like this:

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

You can see both of these in action on repl.it: https://repl.it/@jrunning/SpiritedTroubledWorkspace


Correct answer (also for PHP7) is:

$obj->{$field}


Have you tried:

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


I'm using php7 and the following works fine for me:

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

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


this works on php 5 and 7

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜