Max Ternary运算符IF语句比较

时间:2014-11-12 12:55:53

标签: php

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

$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 个答案:

答案 0 :(得分:4)

方法4可以说是最好的方式。

  • 第一个是矫枉过正。
  • 第二个甚至更多。
  • 第三种是简洁明了,但三元运营商并不总是增加可读性。
  • 第四种是以正确方式使用的指定方法。

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

答案 1 :(得分:1)

它们都不是更好或更糟。你可以使用它们中的任何一个。有些可能比另一些快一点,但事实上,如果你不重复这些操作千万次/百万次,你就不应该关心微优化

答案 2 :(得分:0)

方法4 - 其目的最明确。

如果您可以使用内置函数执行某些操作,则根本没有理由自行创建(这是1-3实际执行的方法)

答案 3 :(得分:0)

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

祝你好运