double KE = 1.0/2.0*m*v*pow(KE,2);
我尝试了不同的方法但是我不能让eval()来输出输出。我跟着一个相关的帖子得到了这个,但它没有正常工作。
$answra[$j] = '$qry['.$answers[$j].']';
eval("echo stripSlashes($answra[$j]); ");
任何更简单的替代方案?
答案 0 :(得分:1)
(我假设你有理由使用eval,不鼓励,不管怎样,让我给你解决方案)
好吧,我们有这个错误的示例:
$string = "asdfg";
eval("echo stripSlashes($string); ");
这不起作用,因为
中使用的字符串eval("echo stripSlashes($string); ");
结果
echo stripSlashes(asdfg);
你可以看到asdfg
不再是真正的字符串了。
你需要做的是像这样转义变量:
eval("echo stripSlashes(\$string); ");
所以你的口译员会知道不要考虑变量。
<强> TL; DR:强>
这种反斜杠应该可以解决问题:
$answra[$j] = '$qry['.$answers[$j].']';
eval("echo stripSlashes(\$answra[$j]); ");
答案 1 :(得分:0)
使用单引号而不是双引号,以防止变量在字符串中包含时展开。在解析参数时,它将被eval
扩展。
eval('echo stripSlashes($answra[$j]); ');