扫码关注官方订阅号
如何访问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'
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
$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'