我应该作为布尔值或假布尔值进行转换吗?

时间:2012-07-18 19:17:02

标签: php syntax

如果我得到一个整数变量(从0 +开始)我可以做一些事情来确保数字 0(零):

  • 选项1:

    if($number > 0){
        // number is not zero
    }
    
  • 选项2:

    if($number){
        // number is not zero
    }
    
  • 选项3:

    if((bool) $number){
        // number is not zero
    }
    
  • 选项4:

    if(!!$number){
        // number is not zero
    }
    
  • Etcetera ....

以上哪一项被认为是最好的选择?
或者还有更好的选择吗?

3 个答案:

答案 0 :(得分:4)

使用相同的 comparison operaton,它不会做任何类型的杂耍(并且速度更快)。

if ($number !== 0) {
 //         ^^^
 // Number is not identical to 0
}

注意:这是假设变量实际上是一个“整数变量”,而不是恰好包含数字的字符串。

if (false == ($number === 0)) {
 //                   ^^^
 // It is false that Number is identical to 0
}

答案 1 :(得分:1)

我一直用这个:

if(!empty($number)){
 // Number is not 0
}

我认为这只是一石二鸟。

  • 变量集。
  • 不是0

答案 2 :(得分:0)

if($number != 0){
 // Number is not 0
}