PHP通过变量访问静态属性

时间:2013-12-19 17:02:27

标签: php

有没有办法通过包含属性名称的变量访问静态属性(ReflectionClass和eval()除外)?

class WhateverClass
{
    public static $test = array('1','2');
    public static $other = array('3','4');
}
$propName = 'test';
var_dump(WhateverClass::$propName);

2 个答案:

答案 0 :(得分:1)

您需要使用“variable variables”。

$propName = 'test';
var_dump(WhateverClass::$$propName);

注意两个$。这告诉PHP要查找名为...的变量......无论$propName包含什么。

答案 1 :(得分:1)

以下内容应该有效:

var_dump(WhateverClass::$$propName);

这称为variable variables

我试着尽量减少对这种技术的使用,如果过度使用,它会很快变得非常混乱。