使if语句更短

dot*_*tty 0 php if-statement

干草,我有一个if声明.我怎么能让它尽可能短?

 if ( $a < 0 ){
   if( $a > -2 ){
    echo "standard";
   }elseif( $a <= -2 && $a > -4 ){
    echo "thin";
   }elseif( $a <= -4 ){
    echo "super thin";
   }

 }else{
  if( $a < 2 ){
    echo "standard";
  }
  if( $a > 2.01 && $a <= 4){
    echo "thin";
  }
  if( $a > 4.01 && $a <= 8.00){
    echo "super thin";
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑:基本上$a将是任何数字(正面或负面),我们这样匹配.

如果值是

  • +0.00至+/- 2.00 - 标准
  • +/- 2.25至+/- 4.00 - 薄
  • +/- 4.25至+/- 8.00 - 超薄

任何知道这可能用于:)的人的额外标记:)

Gum*_*mbo 10

您可以使用绝对值缩短它:

$b = abs($a);
if ($b <= 2) {
    echo "standard";
} else if ($b <= 4) {
    echo "thin";
} else if ($b <= 8) {
    echo "super thin";
}
Run Code Online (Sandbox Code Playgroud)

  • 所以,等等,你基本上看到了reiner的答案,意识到他的想法是不包括$ b> = 2在其他地方是好的,并为你自己的答案刷它? (3认同)

Toa*_*oad 6

那这个呢:

 $a = abs($a);
 if($a<=2) echo "standard";
 elseif($a<=4) echo "thin";
 elseif($a<=8) echo "super thin";
Run Code Online (Sandbox Code Playgroud)

  • @ n1313:这个问题没有给出小于-8或大于8的东西.如果确实如此,则可以添加其他条件. (3认同)