我在管理员/ components/com_virtuemart/classes/ps_product.php的第2136行的Joomla的Virtuemart插件中找到了这行代码.
eval ("\$text_including_tax = \"$text_including_tax\";");
calebbrown.. 9
废弃我之前的回答.
这个eval()在这里的原因显示在php eval文档中
这就是发生的事情:
$text_including_tax = '$tax ...'; ... $tax = 10; ... eval ("\$text_including_tax = \"$text_including_tax\";");
在这结束时$text_including_tax
等于:
"10 ..."
单引号可防止$tax
包含在字符串的原始定义中.通过使用eval()
它强制它重新计算字符串并包含字符串中的值$tax
.
我不是这种特殊方法的粉丝,但它是正确的.另一种方法是使用sprintf()
废弃我之前的回答.
这个eval()在这里的原因显示在php eval文档中
这就是发生的事情:
$text_including_tax = '$tax ...'; ... $tax = 10; ... eval ("\$text_including_tax = \"$text_including_tax\";");
在这结束时$text_including_tax
等于:
"10 ..."
单引号可防止$tax
包含在字符串的原始定义中.通过使用eval()
它强制它重新计算字符串并包含字符串中的值$tax
.
我不是这种特殊方法的粉丝,但它是正确的.另一种方法是使用sprintf()