这是我的班级:
<?php
class myClass {
private $a = 1;
private $b = array(
'a' => $this->a
);
public function getB() {
return $this->b;
}
}
$myclass = new myClass();
var_dump($myclass->getB());
我想在变量$ b中访问变量$ a。但是这显示了这个错误:
(!)解析错误:语法错误,意外'$ this'(T_VARIABLE)in 第5行的C:\ xampp \ htdocs \ test1.php
答案 0 :(得分:2)
不允许以这种方式分配变量属性。最好的方法是将变量分配给构造函数中的数组。所以,像这样:
<?php
class myClass {
private $a = 1;
private $b = array();
public function __construct() {
$this->b['a'] = $this->a;
}
public function getB() {
return $this->b;
}
}
$myclass = new myClass();
var_dump($myclass->getB());
答案 1 :(得分:1)
您可以通过构造函数访问变量。
以下是一些代码:
class myClass {
private $a;
private $b;
public function __construct(){
$this->a = 1;
$this->b = array('a'=>$this->a);
}
public function getB() {
return $this->b;
}
}
$myclass = new myClass();
var_dump($myclass->getB());