PHP Regular IF语句VS Shorthand IF语句

The*_*man -3 php if-statement

我的PHP片段

function CheckNumber($number){
 if($number==100){
   return true;
 else{
   return false;
 };
}
Run Code Online (Sandbox Code Playgroud)

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

function CheckNumber($number){
  $result = ($number==100) ? return true : return false;
  echo $result;
}
Run Code Online (Sandbox Code Playgroud)

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

dec*_*eze 6

return $number == 100;
Run Code Online (Sandbox Code Playgroud)

==已经导致一个布尔值,不需要if对它做一个并为它创建另一个布尔值.您也不需要将此中间布尔值分配给变量.

您的特定问题是这return是一个声明,不能成为表达式的一部分.如果有的话,代码需要看起来像:

$result = $number == 100 ? true : false;
return $result;
Run Code Online (Sandbox Code Playgroud)

但同样,这可以减少到上面的版本.