有没有办法通过包含属性名称的变量访问静态属性(ReflectionClass和eval()除外)?
class WhateverClass
{
public static $test = array('1','2');
public static $other = array('3','4');
}
$propName = 'test';
var_dump(WhateverClass::$propName);
答案 0 :(得分:1)
您需要使用“variable variables”。
$propName = 'test';
var_dump(WhateverClass::$$propName);
注意两个$
。这告诉PHP要查找名为...的变量......无论$propName
包含什么。
答案 1 :(得分:1)
以下内容应该有效:
var_dump(WhateverClass::$$propName);
我试着尽量减少对这种技术的使用,如果过度使用,它会很快变得非常混乱。