2009-07-31 67 views
11

Với ba số, $x, $y$z, tôi sử dụng mã sau để tìm số lớn nhất và đặt nó trong $c. Có cách nào hiệu quả hơn để thực hiện việc này không?Tìm giá trị lớn nhất trong ba giá trị trong PHP

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

liên quan: [PHP Type-Juggling và (chặt chẽ) Greater/Lesser Thần So sánh] (http: // stackoverflow .com/q/15813490/367456) – hakre

Trả lời

22

Có lẽ cách dễ nhất là $c = max($x, $y, $z). Xem tài liệu trên maxDocs để biết thêm thông tin, nó so sánh bởi giá trị số nguyên của mỗi tham số nhưng sẽ trả về giá trị tham số ban đầu.

+0

Cũ q/a, tôi biết, nhưng như là một lời giải thích cho lý do tại sao tôi đã không nhận thức được max() tại thời điểm đó. – Grod

11

Bạn cũng có thể sử dụng một mảng có CPC

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

nếu bạn cần phải

-2

đơn giản hơn nhiều một

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

Nhập lại mã gốc với định dạng kém sẽ không có câu trả lời hay. – Grod

+0

Rất bối rối bởi câu trả lời này –

-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

Bạn đã sao chép mã câu hỏi, thay đổi tên biến, sau đó xóa phần thực sự làm những gì câu hỏi yêu cầu (lưu kết quả). Trên một câu hỏi cũ 7+. – Grod

Các vấn đề liên quan