我有这个代码
$test = new test();
$test->var_test = array('one','two');
class test{
var $var_test = array();
function __construct(){
var_dump($this);
}
}
var_dump给我$ var_test为null
为什么;我给它one
two
值
答案 0 :(得分:2)
不,您添加的值晚于__construct()
已解雇。
class test{
var $var_test = array();
function __construct($vars)
{
$this->var_test = $vars;
var_dump($this);
}
}
new test(array('one','two'));
会工作。
答案 1 :(得分:2)
不,输出不为空,输出为:
object(test)#1 (1) {
["var_test"]=>
array(0) {
}
}
表示var_test是一个空数组。
在第一行调用构造函数(__construct函数),在第二行调用构造函数(__construct函数)。因此,当构造函数运行时,该数组尚未填充,因此为空。