我似乎无法在这里找到错误,这段代码用来工作然后我更新了PHP,现在我得到了:
解析错误:语法错误,意外' 10' (T_LNUMBER)在C:\ wamp \ www \ a \ 1.php(15):eval()' d代码在第1行
$operande1 = 5;
$operande2 = 10;
$operation = "*";
calcul($operande1,$operande2,$operation);
function calcul($operande1, $operande2, $operation) {
echo $operande1;
echo $operande2;
echo $operation;
eval('$result=('.$operande1.")".$operation."(".$operande2.");");
}
感谢任何帮助
答案 0 :(得分:1)
您将字符串与eval中的数字连接起来。将$operande1
包裹在strval($operande1)
内应解决此问题。我根本不建议使用eval,但它看起来像这样,另一种选择是简单地将数字作为字符串,通过在引号内初始化它们,即$operande1 = "10";
eval('$result=('.strval($operande1).")".$operation."(".strval($operande2).");");
注意 eval
只是将值设置为变量$result
,并且您要echo $result;
来打印其值。
答案 1 :(得分:0)
我能够重现您发布的错误的唯一方法
解析错误:语法错误,意外“10”(T_LNUMBER)
是遗漏了=
的标志。
$operande1 10;
给了我
解析错误:语法错误,意外“10”(T_LNUMBER)
输出为5.4.0 - 5.6.2,php7 @ 20140507 - 20141001 解析错误:语法错误,第3行/ in / o1vDg中的意外“10”(T_LNUMBER)