如何检查PHP中是否存在已定义的常量?

如何检查PHP中是否存在已定义的常量?,php,if-statement,constants,fuelphp,Php,If Statement,Constants,Fuelphp,所以我使用了一个名为fuelphp的PHP框架,我有一个HTML文件,所以我不能在其中使用PHP。我有另一个文件,其中有一个顶部栏,我的HTML文件将通过ajax调用它 如何检查PHP中是否存在常量? 我想检查fuelphp框架文件的位置 这些是我需要检查的常量(实际上,我只需要检查其中一个): 编辑: 我意识到这些不是变量,而是常量…使用函数检查 手册中的一个示例: 使用,例如: if (defined('VAR_NAME')) { // Something } 首先,这些不是变

所以我使用了一个名为fuelphp的PHP框架,我有一个HTML文件,所以我不能在其中使用PHP。我有另一个文件,其中有一个顶部栏,我的HTML文件将通过ajax调用它

如何检查PHP中是否存在常量?
我想检查fuelphp框架文件的位置

这些是我需要检查的常量(实际上,我只需要检查其中一个):

编辑:
我意识到这些不是变量,而是常量…

使用函数检查

手册中的一个示例:


使用,例如:

if (defined('VAR_NAME')) {
    // Something
}

首先,这些不是变量,而是常量

您可以使用以下函数检查它们的存在:

bool defined ( string $name )
检查给定常量是否存在并已定义


我想你指的是常数而不是变量!函数是
defined()


请参见此处:

这里有一种更酷、更简洁的方法:

defined('CONSTANT') or define('CONSTANT', 'SomeDefaultValue');
信贷:丹尼尔在内维尔点tk

定义了
之后,您必须执行以下操作:

if (defined("CONST_NAME"))
    $value = CONST_NAME; 
这是可行的,但是在第二行代码编辑器(在我的例子中是带有PHP Inteliphense扩展的Visual Studio代码)中可能会出现一条恼人的错误消息,因为它找不到
CONST\u NAME
。 另一种选择是使用常量函数。它将字符串作为常量名称,如果未定义常量,则返回null:

$value = constant("CONST_NAME");
if ($value != null)
{
    // Use the value ...
}

由于您将常量名称作为字符串传递,因此不会在代码编辑器上生成错误。

这些不是变量,而是定义。为什么在这个问题上会有这么多的反对票?@EricMORAND还有,为什么每个答案都会被否决?@FrankPresenciaFandos是的,我已经这样做了,但我所做的所有尝试,我在哪里都找不到。@ryanc1256关于答案否决票,这表明答案不正确/有害。不正确;OP的“变量”不是变量-从第一次修订的代码中可以看到,稍后在文本中进行了澄清。您首先询问了如何检查变量是否存在。。然后你把它变成一个常数。。。如果你不投票否决我的帖子,那将是礼貌的……我没有——我不是提问者。请注意,投票既关乎正确性,也关乎努力。请注意,删除答案是免费的,可以收回您的分数,您必须以任何方式进行删除(或编辑直到正确为止)。请注意,此处不欢迎仅链接答案(也请注意,您无意中链接到了德语翻译),为了节省额外几分钟的调试时间,请确保引号中包含
VAR\u NAME
,如本答案和文档所示。添加引号,很简单,但很容易忽略!如果已经定义,则会发出警告。
if (defined("CONST_NAME"))
    $value = CONST_NAME; 
$value = constant("CONST_NAME");
if ($value != null)
{
    // Use the value ...
}