PHP常规IF语句V.S Shorthand IF语句


PHP Regular IF statement V.S Shorthand IF statement

我的PHP代码段

function CheckNumber($number){
 if($number==100){
   return true;
 else{
   return false;
 };
}

我希望简写(三元运算符)if语句也能做同样的事情,但这不起作用:

function CheckNumber($number){
  $result = ($number==100) ? return true : return false;
  echo $result;
}

我知道echo在这里肯定是错误的,但我应该怎么做才能将result的结果返回给函数?

return $number == 100;

==已经产生了一个布尔值,不需要对其执行if并为其创建另一个布尔。您也不需要将这个中间布尔值分配给变量。

您的特殊问题是return是一个语句,不能是表达式的一部分。如果有的话,代码需要看起来像:

$result = $number == 100 ? true : false;
return $result;

但同样,这可以简化为上面的版本。