一个关于php中$this的疑问,下面的程序输出为什么是2? 每一行最好解释一...
发布网友
发布时间:2024-10-16 04:49
我来回答
共2个回答
热心网友
时间:2024-10-16 19:05
<?
class A{
private $a = 0;//私有变量,只能在内部使用
public function __construct(){//析构函数,相当于赋值值
$this->a = $this->a + 1 ;//把a的值,自加1
}
public function doSomeThing(){//执行函数,
$this->__construct();//执行一次赋值赋值
return $this->a;//输出a
}
}
$a = new A();
echo "现在 \$a 的值是" . $a->doSomeThing();//赋值+执行=2
?>
因为赋值了一次,又执行了一次,故是2。
若这样写便是1
public function doSomeThing(){
return $this->a;
}
热心网友
时间:2024-10-16 19:00
先执行构造函数里(__construct())的a+1 = 2
然后输出a 不久等于2么。。。