基本上我想访问类的变量,但是我动态地更改了所需变量的名称。我有一些问题要准确解释,但看到我的代码,也许它变得更清楚了:
$requirement = array('req1','req2');
foreach($requirements as $requirement)
{
// CHECK FOR REQUIRED PARAMETERS
if(!isset($this->$requirement)) { echo 'foo'; }
}
所以我实际上想要访问$this->req1
等等,但是如何使用我的iterator-variable访问它?我不确定这是否正确,难以找到。
另外:在同样的情况下我如何访问parent`变量?
答案 0 :(得分:4)
$$(或使用魔法吸气剂/制定者)
if(!isset($this->$$requirement)) { echo 'foo'; }
或
if(!isset($this->{$requirement})) { echo 'foo'; }
答案 1 :(得分:1)
<?php
class MyClass
{
protected $data;
public function __get($key)
{
return $this->data[$key]
}
public function __set($key, $value)
{
$this->data[$key] = $value;
}
}
$var = 'adsdas';
$var2 = 'sadkajds';
$obj = new MyClass;
$obj->$var = 1;
$obj->$var2 = 1;