Как я могу получить доступ к свойству объекта, названному как переменная в php?
API Google, закодированный в JSON, возвратил объект, такой как
[updated] => stdClass Object
(
[$t] => 2010-08-18T19:17:42.026Z
)
Кто-нибудь знает, как я могу получить доступ к значению $t
?
$object->$t
, очевидно, возвращает
Примечание: переменная Undefined: t
в /usr/local/...
Неустранимая ошибка: не удается получить доступ к пустому свойству в /....
Ответы
Ответ 1
Поскольку именем вашего свойства является строка '$t'
, вы можете получить к ней доступ следующим образом:
echo $object->{'$t'};
Кроме того, вы можете поместить имя свойства в переменную и использовать его следующим образом:
$property_name = '$t';
echo $object->$property_name;
Вы можете увидеть оба из них в действии на repl.it: https://repl.it/@jrunning/SpiritedTroubledWorkspace
Ответ 2
Вы пробовали:
$t = '$t'; // Single quotes are important.
$object->$t;
Ответ 3
Я использую php7, и для меня это работает отлично:
class User {
public $name = 'john';
}
$u = new User();
$attr = 'name';
print $u->$attr;
Ответ 4
Правильный ответ (также для PHP7):
$obj->{$field}