如何使用变量作为类名来循环遍历一个类的静态数据成员?

3
在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
}

如上所述,上面的代码片段无法正常工作。

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

谢谢。


@GordonM - 这是一个重复的问题-我没有找到那个其他的问题。 谢谢。 - Dan Nissenbaum
1个回答

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

foreach($staticMembers as $field => &$value) {

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接