if / else简化为三元运算符

时间:2011-09-30 19:28:54

标签: php

可以为下面的代码完成此操作。我看到的问题是在else子句中有两个语句,我无法找到适合回声的方法......我需要返回一个1或0.也许有人知道一个技巧?

  function empty_user($c)    
    {
    if((int)!in_array('',$this->a,TRUE)) 
      {
      return 1;
      }
     else
      {
      echo $c;
      return 0;
      } 
    }

4 个答案:

答案 0 :(得分:3)

你通常不应该使用三元运算符来确定执行顺序,但是,不,你将无法转换if / else你已经到达那里。

答案 1 :(得分:3)

如果您想要在任一块中进行多个操作,则不能使用三元运算符,但问题是您为什么要这样做?如果你有完整的块可以继续添加代码,那么更新更清晰,更容易。

答案 2 :(得分:3)

没有三元= /。虽然你可以简化这一点,因为一旦函数返回,它就会停止解释函数,所以你可以消除else。

function empty_user($c) {
    if ((int)!in_array('',$this->a,TRUE)) return 1;
    echo $c;
    return 0;
}

答案 3 :(得分:1)

in_array返回一个bool,它非常适合if语句 - 不需要将它强制转换为int。

    function empty_user($c)    
    {
       if (in_array('',$this->a,TRUE))
       {
          echo $c;
          return 0;
       }

       return 1;
    }