【问题标题】:constant already defined in php已经在 php 中定义的常量
【发布时间】:2011-08-18 17:30:59
【问题描述】:

我有一个我正在尝试运行的函数,但它显示的消息为 CONSTANT 已定义。

我试图对函数设置一个条件,说“如果已定义”,但仍然没有。有什么方法可以忽略这个并查看输出吗?

【问题讨论】:

  • 你能提供一些代码吗?另外,你有included 文件吗?
  • 你能给我们看看代码吗?
  • 实际上,它连接到几个东西,在错误消息中我在 3-4 个文件中看到“常量...”(这些就像设置文件)。我不确定我可以提供哪些代码,因为有很多..
  • 确保您使用的是if( defined('NAME') ) 而不是if( defined(NAME) )
  • 函数名是什么?你试过改变它吗?

标签: php constants


【解决方案1】:

替换这个:

define('constant', 'value');

用这个:

if (!defined('constant')) define('constant', 'value');

【讨论】:

  • 我的 IDE 喜欢让它不是一行,所以我把它短路了!defined('constant') && define('constant', 'value');
  • 这个更优雅一点:defined('constant') or define('constant', 'value');
【解决方案2】:

define()

例子:

/* Note the use of quotes, this is important.  This example is checking
 * if the string 'TEST' is the name of a constant named TEST */
if (defined('TEST')) {
    echo TEST;
}

【讨论】:

    【解决方案3】:

    这是您检查常量的方式吗:

    if (defined('TEST')) {
        echo TEST;
    }
    

    也许您没有正确进行检查,或者您正在检查的常量不是导致错误的原因,某些流氓包含文件可能具有不同的常量并产生重叠/重新定义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 2012-01-02
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 2013-01-03
      相关资源
      最近更新 更多