2016-01-21 339 views
0

陣列搜索按鍵和返回數組值

$cities = array("Paris" => "10", "Amsterdam" => '20', "California" => '30', "Barcelona" => "70"); 

排序

asort($cities); 

的print_r

print_r (array_keys($cities)); 

個結果

Array ([0] => Paris [1] => Amsterdam [2] => California [3] => Barcelona) 

我要回誰擁有城市的關鍵2(應該是加州

UPDATE

我解決它像這樣(感謝ArSeN):

$array1 = array_keys($cities); 
$city = $array1[2]; 
+2

'var_dump($ array [2])'? –

+3

你確定你想知道哪個城市有鑰匙2嗎?或者你的意思是你想知道陣列中哪個鍵的值爲「California」? – ArSeN

+0

@ ArSeN是的。因爲我已經有密鑰(排名),我想現在哪個用戶有這個密鑰。 –

回答

0
$city = array_keys($array1)[2]; 

在$ city中存儲「California」。

+0

確實如此。 Php給出錯誤。 –

+0

IIRC舊版本的PHP不支持這樣的功能。您可能想先將array_keys的結果存儲在變量中,然後再獲取您的索引。 $ tmp = array_keys($ array1); $ city = $ tmp [2]; –

+0

請參見[此帖子](http://stackoverflow.com/a/10482105/2979155) - 自5.4版開始支持 –