2010-07-06 52 views
0

我有这样的代码问题类和VAR和__construct

$test = new test(); 
$test->var_test = array('one','two'); 


class test{ 

    var $var_test = array(); 


    function __construct(){ 

    var_dump($this); 

    } 


} 

后续代码var_dump给我$ var_test在空 原因;我给它的onetwo

回答

2

不,你添加的值比__construct()发射晚。

class test{ 
    var $var_test = array(); 
    function __construct($vars) 
    { 
     $this->var_test = $vars; 
     var_dump($this); 
    } 
} 
new test(array('one','two')); 

将工作。

+0

等等是什么使用完全赞成var $ var_test = array(); 在开始 – 2010-07-06 08:04:53

+0

抱歉,也许我不明白你的问题。 $ var_test可以是任何你想要的。例如,在你的类中使用某种配置变量。 – fabrik 2010-07-06 08:12:54

2

否,在此输出不为空,则输出是这样的:

object(test)#1 (1) { 
    ["var_test"]=> 
    array(0) { 
    } 
} 

这意味着var_test为空数组。

在第一行调用构造函数(__construct函数),在第二行调用你的数组。因此,当构造函数运行时,数组尚未填充,因此为空。

+0

以及我如何填充它;我想加var = xx;在开始时应该这样做 – 2010-07-06 08:06:28