开发时遇到问题,发现tp的模板标签在解析value为-1的标签时会出错,标签原样输出。
检查后发现:
1.当使用if/eq等比较标签时,当value为负值时,标签不解析
2.当使用empty/notempty等标签是,当value为小数0.0时,判断结果不为空
查看TP的源代码具体没有发现什么原因,个人猜测应该是使用了强关系判断===/!==的原因吧。
建议在这种情况下,使用lt标签判断负值,使用gt标签判断正数,使用egt判断非负数。
如果实在要判断具体的负值是负多少,那么建议使用switch。
没有找到根源,可能是框架的设计问题,只能迂回解决了。