在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
}
如上所述,上面的代码段不起作用。
这可能吗?如果是这样,语法是什么?
感谢。
答案 0 :(得分:4)
$class = new ReflectionClass('Foo');
$staticMembers = $class->getStaticProperties();
foreach($staticMembers as $field => &$value) {