关联数组中键的第二高值


Associative Array 2nd Heighest Value with the key

我有一个像这样的数组

$cal = array("D"=>"35", "I"=>"23", "S"=>"34", "C"=>"2");

现在我想获得第二高的值键对于上面的例子,根据值,第二高度是34,所以我应该得到一个输出"S",因为S是分配给34的键。

我已经试过了

$cal = array("D"=>"35", "I"=>"23", "S"=>"34", "C"=>"2");
arsort($cal);
$keys = array_keys($cal);
echo $cal[$keys[1]]; 

但我只得到34的回报。但是我想让他们把34键赋给"s"。

请注意,该数组中的所有值都是动态的。

谢谢

作为一种替代方法,在对其进行排序之后,您可以移动next指针(移动到第二个元素,因为它从第一个元素开始)。然后使用key:

next($cal);
$second = key($cal);
echo $second;
样本输出