为什么 0:0 作为运算符被忽略?

Why is 0:0 ignored as an operator?

我正在使用这个名为 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 上找到参考资料)?

({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所以三元"returns"5