可以对下面的代码这样做吗?我看到的问题是,在else子句中有两个语句,我无法找到一种方法来适应echo…我需要返回1或0。也许有人知道诀窍?
function empty_user($c)
{
if((int)!in_array('',$this->a,TRUE))
{
return 1;
}
else
{
echo $c;
return 0;
}
}
无三元制=/。尽管您可以将其简化很多,因为一旦函数返回,它就会停止解释该函数,因此您可以消除else。
function empty_user($c) {
if ((int)!in_array('',$this->a,TRUE)) return 1;
echo $c;
return 0;
}
一般不应该使用三元运算符来确定执行顺序,而且,不,您将无法转换那里的if/else
如果您想在任何块中使用多个操作,则不能使用三元操作符,但问题是为什么要这样做?
in_array返回一个bool类型,这对于if语句来说是完美的——不需要将其强制转换为int类型。
function empty_user($c)
{
if (in_array('',$this->a,TRUE))
{
echo $c;
return 0;
}
return 1;
}