PHP这个伪变量
问题描述:
从PHP手册:PHP这个伪变量
class Bear {
// define properties
public $name;
public $weight;
public $age;
public $sex;
public $colour;
// constructor
public function __construct() {
$this->age = 0;
$this->weight = 100;
}
我感兴趣的,如果行对象和类方面会发生什么:$this->age = 0;
改为$age = 0;
这一变化有什么确切的疗效?
答
您将0分配给局部变量年龄。由于它不存在,它将被初始化。一旦构造函数超出范围,年龄将被遗忘。集体成员年龄不会改变。
答
类变量“age”将不受此更改的影响。这里有一个很好的例子,为什么是这样的话:
class Bear {
// define properties
public $name;
public $weight;
public $age;
public $sex;
public $colour;
// constructor
public function __construct($age) {
$age = $age * 2; // Convert to bear years.
$this->age = $age;
$this->weight = 100;
}
}
现在,当我们创建熊,我们必须通过构造函数来设置岁的选项:
$ben = new Bear(8);
我们还可以修改熊的年龄与我们在构造函数中所做的大致相同:
$ben->age = 12;
这给变量一个范围。本的年龄是特定于他的。这是一个局部变量。
+0
本的年龄将是16. :) – Tpojka 2015-05-26 01:13:31
您可能的意思是'$ age = 0;',而不是'age = 0;'。 – icktoofay 2011-03-20 01:25:37
@icktoofay - 多数民众赞成1.26上午会做一个男人 – benhowdle89 2011-03-20 01:26:55