返回整数0

时间:2014-03-03 12:19:51

标签: php

抱歉英文不好,使用Google.translate

如果设置了代码,则会向int返回一个值。否则返回false

if (isset($this->variable))
   return intval ($this->variable);
else
   return false;

在接收方条件

if ($return_value) {
   // Here code
}

问题是如果返回的值为0,则为false,并执行代码。但是因为0的值对我来说也很重要。如果以字符串形式返回,则仍将其视为false。

define ('false', 'value')不起作用。

为此引入了他的常量,但你必须重写一堆代码以进行额外的测试

(if($return_value! == my_false_constant)

这不太满意。

有什么选择可以解决这个问题?

4 个答案:

答案 0 :(得分:6)

if ($return_value !== false) {

}

使用!==(或===)而不仅仅是!=或==也会测试值的类型。

答案 1 :(得分:1)

与===使用严格比较。 请参阅:http://us3.php.net/manual/en/types.comparisons.php

if(1 === true) //returns FALSE

答案 2 :(得分:1)

这将有效:

(if($return_value !== false){
// do work
}

比较

  • ==表示相同的值
  • ===表示相同的值和相同的类型
  • ! ==表示不是(相同的值)
  • !==表示不(相同值和相同类型)

SO:

  • 0 == false //是真的
  • 0 === false //是假

答案 3 :(得分:0)

简单! ==不等于!==,因为无效的PHP代码