簡體   English   中英

如何訪問在 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM