这个标题可能没什么用。我试图找出是否有办法获取已使用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'
有没有其他方法可以做到这一点,而不是依靠eval?
答案 0 :(得分:2)
请勿使用eval()
,请使用constant()
:
define('I_LOVE_YOU', 'xoxox');
$n = 'LOVE';
echo constant('I_'.$n.'_YOU');