代码之家  ›  专栏  ›  技术社区  ›  matthy

php能否返回布尔值?=>返回$aantal==0;

  •  1
  • matthy  · 技术社区  · 16 年前

    php能否返回如下布尔值:

    return $aantal == 0;
    

    public boolean test(int i)
    {
    return i==0;
    }
    

    还是必须使用if构造?

    $foutLoos = checkFoutloos($aantal);
    
    function checkFoutloos($aantal)
    {
        return $aantal == 0;
    }
    
    echo "foutLoos = $foutLoos"; 
    

    是埃科

    foutLoos = 
    

    所以不是真是假

    谢谢 马蒂

    6 回复  |  直到 16 年前
        1
  •  8
  •   Paige Ruten    16 年前

    试试看!

    function is_zero($n) {
        return $n == 0;
    }
    
    echo gettype(is_zero(0));
    

    boolean
    
        2
  •  8
  •   Sundeep    16 年前

    它返回一个布尔值,但在输出布尔值时不会将其转换为字符串。请尝试以下方法:

    $foutLoos = checkFoutloos($aantal);
    
    function checkFoutloos($aantal)
    {
        return $aantal == 0;
    }
    
    echo "foutLoos = " . ( $foutLoos ? "true" : "false" );
    
        3
  •  1
  •   matthy    16 年前

    是的,我发现当你回音一个假的时候,你什么也得不到,而真的回音是1,这就是为什么我感到困惑;)

        4
  •  1
  •   cp3    16 年前

    对你甚至可以通过三元运算符。

    function foo($bar == 0) {
        return ($bar) ? true : false;
    }
    
        5
  •  1
  •   matpie    16 年前

    function Foo($Bar= 0) {
        return ($Bar == 0);
    }
    
    $Return = Foo(2);
    $Type = var_export($Return, true);
    
    echo "Return Type: ".$Type; // Return Type: boolean(true)
    

    事实上,几乎任何东西都可以在计算机上进行评估 return 线路。不过,不要发疯,因为这可能会使重构更加困难(例如,如果您希望允许插件操纵返回)。

        6
  •  1
  •   Pete    15 年前

    我想你可以这样做,通过类型转换:

    return (bool) $aantal;