在PHP中,如何将条件答案赋给eval()中的变量?
我们在PHP在PHP中,如何将条件答案赋给eval()中的变量?,php,eval,Php,Eval,我们在PHPeval()函数中执行动态字符串IF条件,但答案不是在变量中赋值 请查看以下代码: $variable_1 = "if(3>4)"; $variable_1 = "1"; $variable_1 = "0"; $if_val = "$variable_1{ $return_if = $variable_2 } else { $return_if = $variable_3 }"; $final_if_ans = eval($if_val); 您将所有变量声明为$varia
eval()
函数中执行动态字符串IF条件,但答案不是在变量中赋值
请查看以下代码:
$variable_1 = "if(3>4)";
$variable_1 = "1";
$variable_1 = "0";
$if_val = "$variable_1{ $return_if = $variable_2 } else { $return_if = $variable_3 }";
$final_if_ans = eval($if_val);
您将所有变量声明为
$variable\u 1
。更改为$variable\u 2
和$variable\u 3
改变这个
$variable_1 = "if(3>4)";
$variable_1 = "1";
$variable_1 = "0";
到
您将所有变量声明为
$variable\u 1
。更改为$variable\u 2
和$variable\u 3
改变这个
$variable_1 = "if(3>4)";
$variable_1 = "1";
$variable_1 = "0";
到
使用以下代码获得所需的结果:
$variable_1 = "if(3>4)";
$variable_2 = "1";
$variable_3 = "0";
$if_val = "$variable_1{ return $variable_2; } else { return $variable_3; }";
$final_if_ans = eval($if_val);
echo $final_if_ans;
重要提示:
eval()语言构造非常危险,因为它允许执行任意PHP代码。因此,不鼓励使用它。如果您已经仔细验证了除了使用此构造之外没有其他选择,请特别注意,在未事先正确验证的情况下,不要将任何用户提供的数据传递到该构造中。使用以下代码以获得所需的结果:
$variable_1 = "if(3>4)";
$variable_2 = "1";
$variable_3 = "0";
$if_val = "$variable_1{ return $variable_2; } else { return $variable_3; }";
$final_if_ans = eval($if_val);
echo $final_if_ans;
重要提示:
eval()语言构造非常危险,因为它允许执行任意PHP代码。因此,不鼓励使用它。如果您已经仔细验证了除了使用此构造之外没有其他选择,请特别注意,在未事先正确验证的情况下,不要将任何用户提供的数据传递到该构造中。除了具有相同名称的3个变量之外,您可以通过打印
$if_val
来打印生成的代码,以查看实际运行的代码$return\u如果未定义
。使用eval()
时应特别小心,这可能会带来安全风险,应不惜一切代价避免!在$if_val
中,$return_if
未定义,而且您也错过了每个条件下的code>都会抛出错误。除了3个同名变量外,您还可以通过打印$if_val
来打印生成的代码,以查看实际运行的代码$return\u如果未定义
。使用eval()
时应特别小心,这可能会带来安全风险,应不惜一切代价避免!在$if_val
中,$return_if
未定义,而且您也错过了在每种情况下,代码>也会引发错误。