2011-05-25 75 views
77

如何使用PHP獲得數組中最高的密鑰/索引?我知道如何去做這些價值觀。搜索數組中的最高密鑰/索引

E.g.從這個數組我想獲得「10」作爲一個整數值:

$arr = array(1 => "A", 10 => "B", 5 => "C"); 

我知道我怎麼能編程,但我問自己,如果有一個函數這一點。

回答

171

這應該做工精細

$arr = array(1 => "A", 10 => "B", 5 => "C"); 
max(array_keys($arr)); 
+2

比我想象的要簡單。我甚至可以在一兩年內記得這段代碼在做什麼。 – 2011-05-25 14:48:51

+0

你知不知道如果一個鍵被設置爲這樣,它也能工作:$ arr = array(1 =>「A」,10 =>「B」,5 =>「C」,「15」=>「 d「); – 2011-05-25 14:54:40

+2

@Raffael Luthiger嘗試測試它,看看你是否得到正確的結果。 – 2011-05-25 15:01:29

2
$keys = array_keys($arr); 
$keys = rsort($keys); 

print $keys[0]; 

第一註釋應打印出 「10」

27

你可以得到最大這樣鍵:

<?php 
$arr = array("a"=>"test", "b"=>"ztest"); 
$max = max(array_keys($arr)); 
?> 
+0

對不起,有人在我面前發佈了相同的答案。 – 2011-05-25 14:37:33

+1

沒問題。我仍然給你一點。因爲答案是正確的。 – 2011-05-25 14:50:17

-6
<?php 
$array = array(1 => "A", 10 => "B", 5 => "C"); 

foreach ($array as $key => $value) { 
    if ($value >= $max) 
    $max = max(array_keys($array));  
} 
echo " The array in largest number :".$max."<br/>"; 
?> 
+0

你的代碼太複雜了。請看我接受的答案。這一個更容易。 – 2013-11-12 09:54:06

+0

是@RaffaelLuthiger我知道,把它當作 – Hanifeoglu 2013-11-12 18:43:46

+0

的替代品是沒有意義的。你無緣無故地做了一個循環,因爲第一個找到了最大值。循環甚至不會產生任何效果,除非以相同的方式多次運行最大值 – 2016-01-25 20:20:28