如何检查PHP中是否存在常量

rya*_*256 52 php fuelphp

所以我使用的是一个名为fuelphp的PHP框架,我的这个页面是一个HTML文件所以我不能在其中使用PHP,而且我有另一个文件,其中有一个顶部栏,我的HTML文件将调用通过ajax.而我只是问,我们如何检查PHP中是否存在常量?又名(fuelphp框架文件位置)

所以这些是我需要检查的常数(我只需要检查其中一个)

define('DOCROOT', __DIR__.DIRECTORY_SEPARATOR);
    define('APPPATH', realpath(__DIR__.'/fuel/app/').DIRECTORY_SEPARATOR);
    define('PKGPATH', realpath(__DIR__.'/fuel/packages/').DIRECTORY_SEPARATOR);
    define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);                    
    require APPPATH.'bootstrap.php';
Run Code Online (Sandbox Code Playgroud)

编辑:
我意识到这些不是变量,它们是常量...

Tom*_*ers 68

使用defined()功能,例如:

if (defined('VAR_NAME')) {
    // Something
}
Run Code Online (Sandbox Code Playgroud)

  • 为了节省几分钟的调试时间,请确保"VAR_NAME"包含在引号中,如本答案和文档中所示. (10认同)
  • 添加引号,如此简单,但又很容易被忽视! (2认同)

Eri*_*AND 65

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

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

bool defined ( string $name )
Run Code Online (Sandbox Code Playgroud)

检查给定常量是否存在并定义.


Nik*_*las 34

使用defined('CONSTANT')功能检查.

手册中的一个例子:

<?php
/* 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;
}
?>
Run Code Online (Sandbox Code Playgroud)


Sve*_*nov 13

这是一个更酷,更简洁的方法:

defined('CONSTANT') or define('CONSTANT', 'SomeDefaultValue');
Run Code Online (Sandbox Code Playgroud)

信用:daniel at neville dot tk http://php.net/manual/bg/function.defined.php


Zac*_*Zac 5

我认为你的意思是CONSTANTS而不是变量!功能是defined();

看到这里: 定义