【问题标题】:PHP Constants with variables带变量的 PHP 常量
【发布时间】:2011-06-19 10:05:14
【问题描述】:

我知道这可能是一个新手问题,但是可以这样做吗?

unserialize(LOG_ACTIONS_.''.strtoupper($language));

我有一个带有 _LANGUAGE 的常量列表,我想用它来使用变量 $language。

例子:

unserialize(LOG_ACTIONS_ENGLISH);

这是我得到的错误:

Fatal error: Call to undefined function LOG_ACTIONS_strtoupper()

【问题讨论】:

    标签: php


    【解决方案1】:

    使用constant() 获取常量的实际值。

    unserialize(constant(LOG_ACTIONS_.''.strtoupper($language)));
    

    我不确定在常量中序列化数据是否真的很明智 - 如果其中有很多数据,它可能会很昂贵。

    我认为这是为了规避常量不能包含数组值的限制。这个 SO question 展示了一些更好的解决方法:

    What is the most "elegant" way to define a global constant array in PHP

    【讨论】:

      【解决方案2】:

      您可能只使用constant() 函数:

      unserialize(constant('LOG_ACTIONS_'.strtoupper($language)));
      

      【讨论】:

        猜你喜欢
        • 2011-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-18
        相关资源
        最近更新 更多