2017-01-03 63 views
0

我想做一個小的PHP函數,可以檢查常量是否定義,如果是的話,回聲它,如果沒有,回聲空間或什麼都沒有。如何檢查常量是否定義,內函數 - php

現在,if(defined()部分不起作用,因爲常量正在傳遞給函數中的一個變量。

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

echo constant($constant)部分工作正常,但如果常數實際上定義,因爲它是一個變量,現在我無法檢查。

我似乎無法找到一個解決方案是

+1

你是什麼意思的不斷轉移到一個變量?你的意思是常數的名字? – yivi

+1

所有工作都很好https://3v4l.org/a8Rgh –

+1

'$ constant'必須是一個帶有常量名稱的__string__。 –

回答

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