![](/img/trans.png)
[英]How can I access a deep object property named as a variable (dot notation) in php?
[英]How can I access an object property named as a variable in php?
以 JSON 編碼的 Google API 返回了這樣的對象
[updated] => stdClass Object
(
[$t] => 2010-08-18T19:17:42.026Z
)
任何人都知道如何訪問$t
值?
$object->$t
顯然返回
注意:未定義變量:
t
in /usr/local/...致命錯誤:無法訪問 /... 中的空屬性。
由於您的財產的名稱是字符串'$t'
,您可以像這樣訪問它:
echo $object->{'$t'};
或者,您可以將屬性的名稱放在變量中並像這樣使用它:
$property_name = '$t';
echo $object->$property_name;
您可以在 repl.it 上看到這兩個操作: https ://repl.it/@jrunning/SpiritedTroubledWorkspace
正確答案(也適用於 PHP7)是:
$obj->{$field}
你有沒有嘗試過:
$t = '$t'; // Single quotes are important.
$object->$t;
我正在使用 php7,以下對我來說很好用:
class User {
public $name = 'john';
}
$u = new User();
$attr = 'name';
print $u->$attr;
這適用於 php 5 和 7
$props=get_object_vars($object);
echo $props[$t];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.