2011-02-28 43 views
-1

我想獲得我的數組的最高價值。 當我使用php函數時,這是兩種方式。如何在使用循環時獲得最高值?


$a = array(1,125,1068); 
1. $value = max($a); 
    print_r ($value); 

2. asort($a); 
    $value = end($a); 
    print_r ($value); 

我只是無法弄清楚如何在使用循環時獲得最高值。

+2

爲什麼你要使用循環時,最大功能沒有他們的作品? – adarshr 2011-02-28 10:51:32

+1

問題不明確。你想用循環找到最大值?請提供代碼示例或更好地解釋 – 2011-02-28 10:52:16

+0

[如何獲取數組的最高和最低值項?](http://stackoverflow.com/questions/1539580/how-to-get-the-highest-and -lowest-value-items-of-an-array) – Gordon 2011-02-28 10:52:26

回答

4

你做這樣的:

$highest = 0; 
//if you have negative values: $highest = min($a); 
foreach($a as $item){ 
    if ($item > $highest){ 
     $highest = $item; 
    } 
} 
+2

如果有'max()'爲什麼要使用循環。跛腳回答跛腳問題 – 2011-02-28 10:53:38

+0

如果$ a包含負值,這將不起作用。 – 2011-02-28 10:54:33

+0

「我只是無法弄清楚在使用循環時如何獲得最高值。」這就是答案。 – mailo 2011-02-28 10:55:48

0
+1

[我如何寫一個問題的好答案](http://meta.stackexchange.com/questions/7656/how-do-i-write-a-good-answer-to-a-question) – Gordon 2011-02-28 10:54:22

+0

As你看不到我已經發現了max()是如何工作的。我真的很想找到一種不使用php功能的方法。不過謝謝你。 – kolip 2011-02-28 10:55:15

+0

我強烈要求您不要恢復我剛纔編輯的內容。 LMGTFY或類似的在這裏是不合適的。現在,你是否願意在你的回答中總結你的鏈接? – 2011-02-28 13:45:10

2

如果不使用MAX()函數,你可以這樣做

<?php 
$a = array(1,125,1068) 
$max = $a[0]; 
for ($i = 1; $i <count($a); $i++) { 
    if ($a[$i] > $max) { 
     $max = $a[$i]; 
    } 
} 

回聲$最大; ?>

+0

我會將它標記爲已儘快答覆。謝謝。這就是我所需要的,這對我有很大的幫助。 – kolip 2011-02-28 10:56:14

0
$dd = array(50, -25, -5, 80, -40, -152, -45, 28, -455, 100, 98, -455); 
$curr = ''; 
$max = $dd[0]; 

for($i = 0; $i < count($dd); $i++) { 
    $curr = $dd[$i]; 

    if($curr >= $max) { 
     $max = $curr; 
    } 
}