PHP:评估字符串中的值

时间:2012-10-06 13:29:56

标签: php string eval

我从preg_replace

返回此字符串($ query)
'SELECT ({$array["sum"]}/ 5)'

我如何评估它,结果是'SELECT (100/5)'例如!

我试过

eval($query)

但没有成功!

你有更好的主意吗?

3 个答案:

答案 0 :(得分:1)

只需用双引号'替换单引号"

"SELECT ({$array["sum"]}/ 5)"

eval()期间或在获取用户输入时使用$_POST并不是一个好主意。只是一个建议。

答案 1 :(得分:1)

你没有正确使用eval:

$evaluated = eval("return $query;");

请注意,您没有任何语法错误。当你以这种方式构建SQL查询时,你也可能做错了。只是说,我希望你已经够老了。

答案 2 :(得分:0)

只需将它们与.运算符粘合在一起:

$array['sum'] = 100;
echo 'SELECT (' . $array['sum' ] . ' / 5)';

将导致:

SELECT (100 / 5)