【问题标题】:How to loop over the static data members of a class - using a variable for the class name? [duplicate]如何遍历类的静态数据成员 - 使用变量作为类名? [复制]
【发布时间】:2014-02-21 16:14:07
【问题描述】:

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

如上所述,上面的代码 sn -p 不起作用。

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

谢谢。

【问题讨论】:

  • @GordonM - 这是重复的 - 我没有找到其他问题。谢谢。

标签: php class static


【解决方案1】:
$class = new ReflectionClass('Foo');
$staticMembers = $class->getStaticProperties();

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

【讨论】:

    猜你喜欢
    • 2014-08-07
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多