【问题标题】:Is it possible to change value of a defined constant? [duplicate]是否可以更改已定义常量的值? [复制]
【发布时间】:2012-06-28 06:47:11
【问题描述】:

可能重复:
Change the value of a previously-defined constant

有一个常量 ABC,我需要获取它的值、保存、更改、执行一些操作并恢复。但我被告知这是不可能的。请告诉我,这是真的吗?如果不是,请告诉我,如何从常量中获取值并为其设置值?

【问题讨论】:

  • 是的,这是真的,顾名思义,它是一个常量,不能更改。
  • $copyconstant = CONSTANT; 应该是把它放在一个可以使用的变量中。
  • 与变量赋值相同,define("ABC", "foo"); $bar = ABC;

标签: php constants


【解决方案1】:

这是不可能的。常量的要点是不能改变的,一旦定义了常量就不能重新定义或删除。

但是有一些选择。您可以使用普通变量,或者这可能会有所帮助:Un-define constants with define/apc_define_constants in PHP

根据该帖子,您可以使用 apc_* 函数取消定义和定义它。因此,您可以通过删除它的方式对其进行更改,然后使用新值重新创建它。

【讨论】:

    【解决方案2】:

    尝试在其他 var 中获取 CONSTANT 并将其用作全局变量。请参阅下面的示例。

    $copyconstant = CONSTANT_VAR;
    
    Then use $copyconstant declaring as global in pages;
    
    global $copyconstant; 
    echo $copyconstant; 
    

    【讨论】:

      【解决方案3】:

      常量意味着常量并且不会改变,您要求做的事情需要使用变量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-21
        • 2016-11-08
        • 2011-10-18
        相关资源
        最近更新 更多