我正在使用这个名为Webform Calculator的Drupal模块,它使我们成为所谓的运算符。
基于运营商的一个公式几乎完成工作:
({total_weight}==0? 0:0) || ({total_weight}<=2? 5:0) || ({total_weight}<=10? 6:0) || ({total_weight}<=30? 10.5:0)
这就是它正确的做法:
唯一没有解决的问题(实际上是公式的第一部分):
它一直向我投掷5。任何人都知道我出错了什么,以及这首先被称为什么(很难在Google上找到引用)?
答案 0 :(得分:0)
({total_weight}==0? 0:0) || ({total_weight}<=2? 5:0) || ({total_weight}<=10? 6:0) || ({total_weight}<=30? 10.5:0)
如果total_weight为0,则可以将其解释为:
(0 || ({total_weight}<=2? 5:0) || ({total_weight}<=10? 6:0) || ({total_weight}<=30? 10.5:0)
或
(false || ({total_weight}<=2? 5:0) || ({total_weight}<=10? 6:0) || ({total_weight}<=30? 10.5:0)
导致第二个条件执行。 0<=2
所以三元“返回”5