84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
如何存取PHP物件的屬性?
此外,使用$this->$property1和$this->property1存取物件屬性有什麼不同?
$this->$property1
$this->property1
當我嘗試使用$this->$property1時,出現以下錯誤:
'PHP:無法存取空屬性'。
PHP的物件屬性文件中有一個評論提到了這個問題,但評論沒有詳細解釋。
$this->property1的意思是:
使用該物件並取得綁定到該物件的變數 property1
$this->$property1的意思是:
評估字串 $property1 並使用結果取得由 $property1 結果命名的變量,該變數綁定到該物件
$property1
在類別的一般用法中,不需要使用"$",否則你將呼叫一個名為$property1的變量,它可以取任何值。
"$"
範例:
class X { public $property1 = 'Value 1'; public $property2 = 'Value 2'; } $property1 = 'property2'; // 属性2的名称 $x_object = new X(); echo $x_object->property1; // 返回 'Value 1' echo $x_object->$property1; // 返回 'Value 2'
$this->property1
的意思是:使用該物件並取得綁定到該物件的變數 property1
$this->$property1
的意思是:評估字串 $property1 並使用結果取得由 $property1 結果命名的變量,該變數綁定到該物件
$property1
// 特定變數$this->property1
// 特定屬性在類別的一般用法中,不需要使用
"$"
,否則你將呼叫一個名為$property1
的變量,它可以取任何值。範例: