class和var和__construct的问题

时间:2010-07-06 07:59:21

标签: php

我有这个代码

$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

2 个答案:

答案 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函数)。因此,当构造函数运行时,该数组尚未填充,因此为空。