我有一个PHP函数,它返回一个可以为零或更大的数字。例如:
但是当差异为零时,我仍然希望它执行某些操作,但似乎将零检测为假而不是零。尽管如此,我仍然需要知道它何时为假。
我尝试将其更改为:
public function returnVal($val1, $val2) {
if ($val2 > $val1) return $val2 - $val1;
else return false;
}
这被用作:
if ($diff = $this->returnVal($a, $b)) // do something
else // don't
但是当差异为零时,我仍然希望它执行某些操作,但似乎将零检测为假而不是零。尽管如此,我仍然需要知道它何时为假。
我尝试将其更改为:
if (($val2 - $val1) == 0) return 'zero';
if ($val2 > $val1) return $val2 - $val1;
else return false;
这种方法是可行的,但看起来不太优雅-肯定有更好的方法吧?
谢谢
$diff = $this->returnVal($a, $b); if ($diff !== false) // do something else // don't
- Mark Bakeris_int()
中,或者使用常见的丑陋的!== false
检查。 - mario