How to access the properties of a PHP object?
Also, what is the difference between accessing object properties using $this->$property1 and $this->property1?
When I try to use $this->$property1 I get the following error:
'PHP: Cannot access null property'.
There is a comment in PHP's object properties documentation that mentions this problem, but the comment does not explain it in detail.
$this->property1means:Use the object and get the variables bound to the object property1
$this->$property1means:Evaluate the string $property1 and use the result to obtain a variable named by the $property1 result, which is bound to the object
$property1//Specific variable$this->property1//Specific propertyIn the normal usage of the class, there is no need to use
"$", otherwise you will call a variable named$property1, which can take any value.Example:
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'