如何循环遍历类的静态数据成员 - 使用类名的变量?

时间:2014-02-21 16:14:07

标签: php class static

在PHP中,如果我有一个带有静态成员变量的类,例如:

class Foo
{
    public static $a = 0;
    public static $b = 1;
}

...我有一个包含类名称的字符串变量:

$foo = 'Foo';

...如何使用变量Foo循环遍历$foo类的静态数据成员?

类似的东西:

// Does not work
foreach ($foo AS $field => &$value) {
    // Desired:
    // Iteration 1: $field = 'a', $value = 0
    // Iteration 2: $field = 'b', $value = 1
}

如上所述,上面的代码段不起作用。

这可能吗?如果是这样,语法是什么?

感谢。

1 个答案:

答案 0 :(得分:4)

$class = new ReflectionClass('Foo');
$staticMembers = $class->getStaticProperties();

foreach($staticMembers as $field => &$value) {
相关问题