2009-07-31 21 views
11

Con tre numeri, $x, $y e $z, utilizzo il seguente codice per trovare il massimo e inserirlo in $c. C'è un modo più efficiente per farlo?Trova il massimo di tre valori in PHP

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

correlate: [PHP Type-giocoleria e (rigoroso) maggiore/minore di confronto] (http: // StackOverflow .com/q/15813490/367456) – hakre

risposta

22

Probabilmente il modo più semplice è $c = max($x, $y, $z). Vedere la documentazione su maxDocs per ulteriori informazioni, si confronta con il valore intero di ciascun parametro ma restituirà il valore del parametro originale.

+0

Vecchio q/a, lo so, ma come spiegazione del motivo per cui non ero a conoscenza di max() al momento. – Grod

11

È inoltre possibile utilizzare un array con max.

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

se avete bisogno di

-2

Molto più semplice una

<?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

Ridigitare il codice originale con una formattazione scadente non è una buona risposta. – Grod

+0

Molto confuso da questa risposta –

-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

Hai copiato il codice della domanda, cambiato i nomi delle variabili, quindi rimosso la parte che effettivamente fa ciò che la domanda chiede (salva il risultato). Su una domanda di 7 anni. – Grod

Problemi correlati