2014-02-07 40 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狀態

不像雙引號和定界符語法,變量和轉義特殊字符序列不會被擴大。