2011-05-25 52 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