这行代码有什么意义?

mk.*_*mk. 3 php virtuemart

我在管理员/ components/com_virtuemart/classes/ps_product.php的第2136行的Joomla的Virtuemart插件中找到了这行代码.

eval ("\$text_including_tax = \"$text_including_tax\";");
Run Code Online (Sandbox Code Playgroud)

cal*_*own 9

废弃我之前的回答.

这个eval()在这里的原因显示在php eval文档中

这就是发生的事情:

$text_including_tax = '$tax <a href="...">...</a>';

...

$tax = 10;

...

eval ("\$text_including_tax = \"$text_including_tax\";");
Run Code Online (Sandbox Code Playgroud)

在这结束时$text_including_tax等于:

"10 <a href="...">...</a>"
Run Code Online (Sandbox Code Playgroud)

单引号可防止$tax包含在字符串的原始定义中.通过使用eval()它强制它重新计算字符串并包含字符串中的值$tax.

我不是这种特殊方法的粉丝,但它是正确的.另一种方法是使用sprintf()