我一直在做一个使用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