2014-04-27 194 views
2

(對不起,我使用Google Translate)php,動態創建變量

我正面臨着在類中動態創建變量的問題。 __construct入口處有類傳遞給變量。
另外週期

foreach ($collector as $key => $field) { 
    $this->$key = $field; 
} 

變量被添加到類。
但是這段代碼在其他類中工作,除了一個類。 下面是類

foreach ($collector as $key => $field) { 
    $this->$key = $field; 
      if (isset($this->$key)) 
       var_dump($this->$key); 
     } 
    var_dump('<pre>',$collector); 
    var_dump($this); 
    die(); 

var_dump('<pre>',$collector) - 轉儲對象

if (isset($this->$key)) 
var_dump($this->$key) 

呼叫魔__get();因爲沒有變量

var_dump($this) - 轉儲對象,但必須的變量我看不到。

請幫幫我!

回答

1

你可以做這樣的事情:

class MyClass 
{ 
    private $_dynamic; 

    function __get($name) 
    { 
     return $this->_dynamic[$name]; 
    } 

    function __set($name, $value) 
    { 
     $this->_dynamic[$name] = $value; 
    } 
}