2014-02-07 85 views
0

我有一个eval的小问题。eval()函数在PHP不工作

这里是我的代码:

$postbit = $template->output('posts_list_index'); // output string: $postslist it's ok 

eval('echo $postbit;'); // output string: $postslist (?) 

谢谢:)

+0

'eval()'之外'echo $ postbit;'产生了什么?我不明白你为什么在这里使用'eval()'。 –

+0

即时通讯使用eval制作插件引擎和模板引擎。 这是echo $ postbit的结果:'$ postslist' – hegbl

+0

@TimPost:术语“postbit”让我怀疑这可能与MyBB论坛软件有关(它使用该术语来指代围绕帖子的小部件,比如“回复”按钮)。我记得,它的模板引擎确实有这样的功能。 – duskwuff

回答

0

我想在eval()功能,您可以能够与值替换字符串。请参阅http://in3.php.net/eval

,并为您的解决方案是:

eval("$postbit = ".$template->output('posts_list_index'."); "); 

echo $postbit ; 

试试这个..我不知道这件事。 Eval需要你逃脱你的$:

0

eval('echo \ $ postbit;');

+0

请编辑您的代码块 –

0

Javadewd's Answer是正确的。我更喜欢使用双引号而不是单引号。当它们出现在单引号的字符串PHP Manual状态

不像双引号和定界符语法,变量和转义特殊字符序列不会被扩大。