2009-07-31 9 views
11

Con tres números, $x, $y y $z, utilizo el siguiente código para encontrar el más grande y lo coloco en $c. ¿Hay una manera más eficiente de hacer esto?Encuentra el más grande de tres valores en PHP

$a = $x; 
$b = $y; 
$c = $z; 
if ($x > $z && $y <= $x) { 
    $c = $x; 
    $a = $z; 
} elseif ($y > $z) { 
    $c = $y; 
    $b = $z; 
} 
+0

relacionadas: [PHP Tipo-Malabares y (estricto) Mayor/menor que Comparaciones] (http: // stackoverflow .com/q/15813490/367456) – hakre

Respuesta

22

Probablemente la forma más fácil es $c = max($x, $y, $z). Consulte la documentación en maxDocs para obtener más información, se compara con el valor entero de cada parámetro, pero devolverá el valor del parámetro original.

+0

Viejo q/a, lo sé, pero como una explicación de por qué no estaba al tanto de max() en ese momento. – Grod

11

También puede usar una matriz con máx.

max(array($a, $b, $c)); 

si necesita

-2

Mucho más simple

<?php 
$one = 10; 
$two = 20; 
$three = 30; 
if ($one>$two) 
{ 
    if($one>$three) 
     {echo "one is the greatest";} 
    else 
     {echo "three is the greatest";} 
} 
else 
{ 
if ($two>$three) 
    {echo "two is the greatest";} 

else 
    {echo "three is the greatest";} 
} 

?>   
+2

Retyping el código original con formato pobre no hace una buena respuesta. – Grod

+0

Muy confundido por esta respuesta –

-2
//Greater no. 
<?php 

      $a = 15; 
      $b = 68; 
      $c = 60; 
      if($a>$b && $a>$c) 
       { 
       echo "a is greater no"; 
       } 
      elseif($b>$a && $b>$c) 
       { 
       echo "B is greater no"; 
       }    
      else 
       { 
       echo "C is graeter no"; 
       } 

?> 
+0

Copió el código de la pregunta, cambió los nombres de las variables y luego eliminó la parte que realmente hace lo que la pregunta plantea (guarde el resultado). En una pregunta de más de 7 años. – Grod

Cuestiones relacionadas