2012-06-28 53 views
2

我有一類具有如下結構:在PHP中爲動態類成員賦值的語法?

class Test { 

    private $var1; 
    private $var2; 
    private $var3; 

    public function __construct($params) { 

     foreach($params as $key => $value) { 

      $this->$key = $value; 

     } 

    } 

} 

的想法是,實例化新對象時,我認爲合適的我可以通過任意數量的參數。例如我可以這樣做:

$params['var2'] = "Variable 2 Instantiated"; 
$params['var3'] = "Test"; 
$test = new Test($params); 

哪個只會實例化$ test-> var2和$ test-> var3。

到現在爲止,我已經寫分配的列表,但如果我要實例只有一半的可用成員的對象,我要檢查是否值被設置等

所以實際問題是:

什麼是爲動態類成員賦值的正確語法?

$this->$var = $var2 

根據我的例子,不工作。我試過Google沒有運氣。

+2

你的示例代碼看起來是正確的,它正在[在此演示中](http://viper-7.com/wR5YHT) – nickb

+0

嗯,謝謝,將進一步調查,必須在別處有問題。謝謝。 – Anonymous

+0

在調試器中運行它,然後逐步執行代碼 - 您將在某處作出無效假設,如拼寫錯誤的構造函數 –

回答