$this->totplpremium is 2400
$this->minpremiumq is 800
那么为什么这会回归真实?!
if ($this->totplpremium < $this->minpremiumq){
这些数字绝对正确,我绝对使用'小于'符号。我无法解决这个问题。
答案 0 :(得分:3)
也许存在某种转换问题。尝试使用
var_dump($this->totplpremium);
var_dump($this->minpremiumq);
if ($this->totplpremium < $this->minpremiumq){
...
}
查看数据类型是否正常
编辑:有一些工具可以让你比使用调试输出更容易调试你的代码 - http://xdebug.org/(PHP的扩展,使你能够调试)和http://en.wikipedia.org/wiki/PHPEd(它是商业的。我不是知道是否有替代方案。)
答案 1 :(得分:2)
尝试用intval包装'numbers':
if (intval($this->totplpremium) < intval($this->minpremiumq)){
//...
}
如果按预期方式工作,那么您确实需要使用gettype检查totplpremium和minpremiumq的类型,例如:
print(gettype($this->totplpremium));
print(gettype($this->minpremiumq));
使用该信息,您应该能够查明错误。
答案 2 :(得分:0)
作为按字母顺序排列的比较,以下陈述是正确的:
"800" > "2400"
(因为8大于2)
答案 3 :(得分:0)
<?php
$totplpremium="2400 ";
$minpremiumq="800";
var_dump(($totplpremium < $minpremiumq)?true:false);
var_dump(((int)$totplpremium < (int)$minpremiumq)?true:false);
?>
我猜你应该仔细检查这些值来自何处或确保它们是整数。
祝你好运!