为什么这不适用于PHP?

$constPrefix = '_CONST_';

if (strstr($content, $constPrefix)) {
    $constants = array('PHP_VERSION', '__FILE__');
    foreach($constants as $constant) {
        $constantOutput = eval($constant);
        $content = str_replace($constPrefix . $constant, $constantOutput, $content);
    }
}

基本上,只是尝试解析一些内容并用等效的PHP常量替换内部的字符串.我应该在这里使用eval()吗?我以前从来没有真正找到使用它的理由,而且差不多凌晨1点了,我想知道这是不是巧合?

解决方法:

您可以用constant替换eval:

$constantOutput = constant($constant);
上一篇:JAVA自学笔记,枚举


下一篇:PHP const / static变量在父类的静态上下文中不可用