【问题标题】:PHP Class Constants Array CastPHP 类常量数组转换
【发布时间】:2012-04-07 09:53:45
【问题描述】:

为了在 PHP 中模拟枚举,我喜欢使用类常量。

例如

class FRUIT
{
    const apple = 1;
    const orange = 2;
    const lemon = 3;
    const pear = 4;
};

我有一个案例,我想将此类转换为数组以填充选择列表。但是,由于类常量的行为静态转换不起作用,例如(array)(new FRUIT()); 也没有 get_object_vars() 方法。

解决这个问题的最佳方法是什么?我是否需要创建一个内部函数来迭代常量并返回一个数组?

【问题讨论】:

    标签: php arrays casting enums class-constants


    【解决方案1】:

    我需要创建一个内部函数来迭代常量并返回一个数组吗?

    不!您可以使用反射来做到这一点:

    $r = new ReflectionClass('FRUIT');
    $constants = $r->getConstants();
    

    更多信息here

    【讨论】:

      猜你喜欢
      • 2021-09-08
      • 2015-02-08
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多