如何检查是否定义了常量,在函数内部 - php

时间:2017-01-03 09:59:50

标签: php function variables constants

我正在尝试创建一个小的PHP函数,它可以检查是否定义了常量,如果是,则回显它,如果没有,则回显空间或什么都没有。

现在,if(defined()部分无效,因为常量被转移到函数内的变量。

function getConstant($constant) {  
  if(defined($constant)) {
    echo constant($constant);
  } else {
    echo '';
  }
}

echo constant($constant)部分工作正常,但我无法检查是否实际定义了常量,因为它现在是一个变量。

我似乎无法找到解决方案

1 个答案:

答案 0 :(得分:3)

public static function isConstants($constant) {
    $oClass = new ReflectionClass(__CLASS__);
    $allConstants = $oClass->getConstants();
    if (isset($allConstants[$constant])) {
       echo $allConstants[$constant];
    } else {
       echo '';
    }
}