我有一个使用像get和set这样的魔术方法的类。 我想要的是使用数组的属性作为set" name",以便稍后使用get" name"来访问该属性。
我现在做的事情:
$arr = array('name' => 'value')
$this->obj->name = $arr['name'];
我想要的并且在我尝试时不起作用:
$arr = array('name' => 'value');
foreach($arr as $item)
$this->obj->[$item] = $item['name'];
echo $this->obj->name; // result should be 'value'
答案 0 :(得分:2)
正确的方法是:
$arr = array('name' => 'value');
foreach($arr as $attributeName =>$value) {
$this->obj->{$attributeName} = $value;
}
echo $this->obj->name;
答案 1 :(得分:1)
PHP实际上非常适合使用魔术方法,这看起来像是一种语法。你应该能够用
做你以后的事情foreach ($arr as $key => $item)
$this->obj->$key = $item;
echo $this->obj->name; // Results in 'value'