我一直在做一個使用eval()函數的php測試,但似乎eval()無法正確調用用戶定義的函數。在PHP中調用用戶定義的函數eval()
請參閱我的例子:
function equals($a,$b){
if ($t == $r){
return true;
}
else{
throw new Exception("expected:<".$r."> but was:<".$t.">");
}
}
eval("$test = 1;");
try{
echo eval("equals($test,1);");
}
catch (Exception $e) {
echo $e->getMessage();
}
但我收到的是總是喜歡 「預期:< 1>卻被:<>」,但如果我有做一個
echo $test;
我可以得到1.
我試圖通過遵循PHP eval()手冊更改$到\ $,但它似乎打破了eval函數。 (http://php.net/manual/en/function.eval.php)
所以我現在有點堆,有人可以幫我解決這個問題。非常感謝你。
代碼應該有以四個空格作爲前綴的行(提示:Ctrl + K),而不是右尖括號。 – 2011-03-02 13:16:12
你的問題解決了嗎? – 2011-03-02 13:20:42
我會先回去嘗試。 Thx傢伙。 – wgx731 2011-03-03 00:58:52