最大三元运算符 IF 语句比较


Max Ternary operator IF statement compare

我有两个变量,想要获得最大值

$a=34;  
$b=45;

现在我想获得它们的最大价值,我可以按照以下方式
实现它们方法-1:

 $max=$a;
    if($a<$b)
    {
        $max=$b;
    }  

方法-2:

if($a>$b)
    {
        $max=$a;
    }
    else
    {
        $max=$b;
    }  

方法-3:

$max=$a>$b?$a:$b;  

方法-4:

 $max=max($a,$b);

现在我想知道使用哪一个更好以及为什么。

方法

4 可以说是最好的方法。

  • 首先是矫枉过正。
  • 第二个甚至更多。
  • 第三个是简短而简洁的,但三元运算符并不总是增加可读性。
  • 第四种是以正确的方式使用的指定方法。

选择max的另一个原因是它支持"无限"数量的参数。如果您必须从 3 个值而不是 2 个值中找到最大值,则您不想重写所有逻辑。

它们都没有好坏之分。您可以使用其中任何一个。有些可能比另一个快一点,但实际上,如果你不重复这些操作数千次/数百万次,你不应该关心微优化。

方法 4 - 它的目的最明确。

如果你可以用内置函数做一些事情,那么根本没有理由制作自己的函数(这就是方法1-3真正做的事情)

我认为最好的方法是 4 $max=max( $a,$b);'如果你编码 advice 它也不是矫枉过正的方法 2 也是完美的 -_-

祝你好运