PHP对象属性的访问语法是什么?
P粉966335669
2023-08-22 19:45:26
[PHP讨论组]
<p><strong>如何访问PHP对象的属性?</strong></p>
<p>此外,使用<code>$this->$property1</code>和<code>$this->property1</code>访问对象属性有什么区别?</p>
<p>当我尝试使用<code>$this->$property1</code>时,出现以下错误:</p>
<blockquote>
<p>'PHP:无法访问空属性'。</p>
</blockquote>
<p>PHP的对象属性文档中有一个评论提到了这个问题,但评论没有详细解释。</p>
$this->property1的意思是:使用该对象并获取绑定到该对象的变量 property1
$this->$property1的意思是:评估字符串 $property1 并使用结果获取由 $property1 结果命名的变量,该变量绑定到该对象
$property1// 特定变量$this->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'