2010-06-11 56 views
0

我想动态地在类属性中分配一个值(即使用变量引用它)。如何动态地为PHP中的类属性赋值?

#Something like: 
setPropValue($obj, $propName, $value); 
+0

Dup的[你可以创建PHP动态实例属性?(HTTP的:// stackoverflow.com/q/829823/) – outis 2012-07-11 22:08:22

回答

1

是这样的?

$myClass = new stdClass(); 
$myProp = 'foo'; 
$myClass->$myProp = 'bar'; 
echo $myClass->foo; // bar 
echo $myClass->$myProp; // bar 
2

如果你想为static members做到这一点,你可以使用可变变量:

class Foo 
{ 
    public static $foo = 'bar'; 
} 

// regular way to get the public static class member 
echo Foo::$foo; // bar 

// assigning member name to variable 
$varvar = 'foo'; 
// calling it as a variable variable 
echo Foo::$$varvar; // bar 

// same for changing it 
Foo::$$varvar = 'foo'; 
echo Foo::$$varvar; // foo 
+1

+1这可能是第一次变量变量没有伤害我的眼睛。 – Artefacto 2010-06-11 15:21:15

相关问题