1

这个标题可能没有多大帮助。我试图弄清楚是否有一种方法可以获取已使用设置的变量的值define(...),但使用第二个变量来构建定义的 var 的名称。例子会更清楚:

define('I_LOVE_YOU', 'xoxox');
$n = 'LOVE';

// how to get 'xoxox', using $n?  This won't work:
$defd = 'I_'.$n.'_YOU';
echo $defd;  // obviously echos 'I_LOVE_YOU', not 'xoxox'

// this will, but is awful
eval('echo I_'.$n.'_YOU;');  // echos 'xoxox'

有没有其他方法可以做到这一点,不诉诸评估?

4

1 回答 1

2

不要使用eval(),使用constant()

define('I_LOVE_YOU', 'xoxox');
$n = 'LOVE';
echo constant('I_'.$n.'_YOU');
于 2013-09-19T19:42:30.080 回答