首页 文章

如何在PHP中返回常量或文本字符串 - 是eval()的方法

提问于
浏览
4

我在mysql表中有一行,其列包含:

This is a test.

我在同一个mysql表中有另一行,其中相同的列包含:

K_IM_A_CONSTANT

在PHP脚本的早期,这行代码存在:

define(K_IM_A_CONSTANT, 'This is a constant.');

如何回显列的内容,返回的值将是“这是一个测试” . 或“这是一个常数 . ”,取决于所选的行?

eval()是这样做的吗?如果是这样,eval()语法看起来如何?我试图让eval()工作时遇到太多错误 .

谢谢你的帮助 .

2 回答

  • 0

    所以给定一段文本,你想找到一个常量,其值与文本相匹配?这对我来说似乎是一个可怕的滥用"constants",但是,你想要使用 get_defined_constants()

    function find_constant_name($text) {
        $constants = get_defined_constants();
        foreach($constants as $const => $val) {
            if ($val == 'Your specified text') {
                 return($const);
            }
        }
    }
    
    find_constant_name('This is a test.');
    
  • 8

    使用constant功能:

    if(defined($row['column_name']))
    {
        echo constant($row['column_name']);
    }
    

相关问题