Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查函数-php中是否定义了常量_Php_Function_Variables_Constants - Fatal编程技术网

如何检查函数-php中是否定义了常量

如何检查函数-php中是否定义了常量,php,function,variables,constants,Php,Function,Variables,Constants,我正在尝试制作一个小PHP函数,它可以检查是否定义了一个常量,如果定义了,则回显它,如果没有,则回显空间或什么都没有 现在,if(defined()部分不起作用,因为常量正在传递到函数内部的变量 function getConstant($constant) { if(defined($constant)) { echo constant($constant); } else { echo ''; } } echo常量($constant)部分工作正常,但我无法

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

现在,
if(defined()
部分不起作用,因为常量正在传递到函数内部的变量

function getConstant($constant) {  
  if(defined($constant)) {
    echo constant($constant);
  } else {
    echo '';
  }
}
echo常量($constant)
部分工作正常,但我无法检查常量是否实际定义,因为它现在是一个变量


我似乎找不到解决方案

你说常数被转换成变量是什么意思?你是说常数的名称?一切正常
$constant
必须是一个带有常数名称的字符串。code正常:-如果$constant是一个字符串,你希望它具有常量文字,那么code就可以了。可能有namespacnig issues?您是否在类中?什么意思是常量被转移到变量中?您是指常量的名称?所有工作正常
$constant
必须是一个带有常量名称的字符串。code工作正常:-如果$constant是一个您希望具有常量文本的字符串,则代码正常。可能存在名称打包问题?您是否在类中你有课吗?
public static function isConstants($constant) {
    $oClass = new ReflectionClass(__CLASS__);
    $allConstants = $oClass->getConstants();
    if (isset($allConstants[$constant])) {
       echo $allConstants[$constant];
    } else {
       echo '';
    }
}