2014-01-22 53 views
1

我在PHP中有一個assoc數組,我按值排序。排序後,我需要返回第一個元素的鍵。php返回第一個元素的數組鍵?

例陣列:

Array 
(
    [a] => 42.857142857143 
    [b] => 87.5 
    [c] => 50 
    [d] => 61.538461538462 
) 

然後我使用ASORT(),並且陣列看起來像這樣:

Array 
(
    [b] => 87.5 
    [d] => 61.538461538462 
    [c] => 50 
    [a] => 42.857142857143 
) 

我怎樣才能返回 「b」 的(因爲它是的關鍵第一個數組)?

+0

哎呀,誤讀。無法刪除。漠視。 :) – SenorAmor

+0

@SenorAmor - 尼克時間;) –

+0

;););)6更多 – SenorAmor

回答

3

您可以結合使用key()reset(),以確保你有第一個元素:

reset($arr); 
$key = key($arr); 
+0

現在唯一的問題是哪個來的第一個,鑰匙或數組??D –

+0

我試過了在我的情況下,鍵是空的。:(*編輯:如果我理解了php.net文檔,重置將返回一個字符串,所以我無法從字符串中獲得密鑰 – koljanep

+1

@koljanep你說得對,那是太快了,你需要單獨重置陣列,然後得到鑰匙,看看我的編輯:http://codepad.viper-7.com/23fMsh – jeroen

3

reset()數組指針指向第一項然後調用key()

reset($array); 
$key = key($array); 

或者您可以使用array_keys()

$array_keys = array_keys($array); 
$key = $array_keys[0]; 
+0

我試過了,鑰匙在我的情況下是空的。 :( – koljanep

+0

+1你是對的,你需要分兩步來做,我不知道爲什麼它是downvoted,但... – jeroen

相關問題