菲律宾比索:
如果先实例化一个类,然后读或写一个不存在的属性,那么这个属性是添加到类对象中还是添加到同一对象的所有对象中?

最佳答案

如果您试图读取属性,则不会添加该属性。
新属性将仅添加到当前对象中
测试脚本:

$o1 = new stdClass();
$o2 = new stdClass();
$a = $o1->property; // PHP Notice:  Undefined property

var_dump($o1); // class stdClass#1 (0) {}
var_dump($o2); // class stdClass#2 (0) {}

$o1->property = 'property';

var_dump($o1); // class stdClass#1 (0) {public $property => string(8) "property" }
var_dump($o2); // class stdClass#2 (0) {}

$o3 = new stdClass();
var_dump($o3); // class stdClass#3 (0) {}

关于php - PHP类的不存在的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28746620/

10-11 19:33