使较长的IF /运算符语句更短

时间:2018-10-10 16:59:30

标签: php

有人可以提供一些避免长运算符的提示,例如下面的语句吗...可以将NULL,''和-1组合在一起

True

2 个答案:

答案 0 :(得分:3)

In_array是更好的选择。

if(in_array($row['ios'], [null, "", -1]) && in_array($row['android'], [null, "", -1])){
   $desktop_count++;
}


就像下面的Felippe所说的那样,使用变量可能是一个好处。

$invalidValues = [null, "", -1];
if(in_array($row['ios'], $invalidValues) && in_array($row['android'], $invalidValues)){
       $desktop_count++;
}

答案 1 :(得分:2)

您可以利用PHP's type casting将变量转换为整数:

if( (int)$row['ios'] <= 0 && (int)$row['android'] <= 0 )
{
    $desktop_count++;
}

没有混乱,没有大惊小怪。

可以放弃显式的(int)强制转换,但是在以后阅读此代码时,使用显式强制转换有助于避免歧义。

作为参考,以下是您正在使用的值的var_dump()

var_dump( (int)'' );
var_dump( (int)'-1' );
var_dump( (int)null );

int(0)
int(-1)
int(0)