PHP:计算字符串中的值
我从preg_replace返回了这个字符串($query)PHP:计算字符串中的值,php,string,eval,Php,String,Eval,我从preg_replace返回了这个字符串($query) 'SELECT ({$array["sum"]}/ 5)' 我如何评估它,以便结果将是'SELECT(100/5)例如 我试过了 eval($query) 但是没有成功 你有更好的主意吗?用双引号取代单引号“” 在$\u POST期间或从用户处获取输入时使用eval()不是一个好主意。只是一个建议。只需使用操作符将它们粘在一起: $array['sum'] = 100; echo 'SELECT (' . $array['sum'
'SELECT ({$array["sum"]}/ 5)'
我如何评估它,以便结果将是'SELECT(100/5)
例如
我试过了
eval($query)
但是没有成功
你有更好的主意吗?用双引号取代单引号
“
”
在
$\u POST
期间或从用户处获取输入时使用eval()
不是一个好主意。只是一个建议。只需使用
操作符将它们粘在一起:
$array['sum'] = 100;
echo 'SELECT (' . $array['sum' ] . ' / 5)';
将导致:
SELECT (100 / 5)
您没有正确使用eval:
$evaluated = eval("return $query;");
注意不要有任何语法错误。同样,当您以这种方式构建SQL查询时,您可能会出错。只需说,我希望您已经足够大了。谢谢您的想法,我将测试:)字符串来自preg_replace:)我将尝试生成一个类似的字符串并对其进行评估。因此,谢谢:)非常感谢,这对您来说非常有用ine!!我肯定会添加更多的安全预防措施。最后的字符串实际上看起来是这样的:)输入示例:
“选择({total_price.total_id}/5)”
输出:“选择(.mysqli_real_escape_string($this->app_array[“application”[“sql”][“total_price”][“total_id”])。/5)”
$evaluated = eval("return $query;");