2011-03-07 75 views
1

我有一個數組,我做了array_count_values,然後是一個arsort。從array_count_values獲取元素N php

美元例如:$a = array('ten','ten','ten','three','two',one','ten','four','four');

我想要得到的第一個元素,並試圖$a[0]但這並沒有工作。

請問第一個元素的正確語法是什麼?

編輯 - 添加陣列 EDIT2 - 此外,底層數組不允許被改變,因爲他們是繼使用關聯數組代碼...

+0

請把你的數組放在你的文章中。 – Zakaria 2011-03-07 19:25:53

+0

看起來應該可以工作。也許別的東西出了問題。 print_r($ a)並查看數組中的內容。 – madmik3 2011-03-07 19:26:14

+0

只是一個說明... OP的示例數組是數值型的,但是array_count_values()返回關聯數組,其中鍵是目標數組的值,所以問題實際上是關於如何在關聯數組中獲取第一個數組元素。 – 2011-03-07 19:30:46

回答

1

取決於你是否要改變的磁盤陣列,你可以使用array_slice()或array_shift()

+0

這改變了底層數組,通過刪除一個元素,這將損害其他使用數組的代碼後來...對不起 – David19801 2011-03-07 19:40:35

1

可以用array_values作爲

$a = array_values($a); 

的var_dump($一個[0])

1

和你上一個問題一樣。

key($a); // or each() for the first key=>value pair 

或者:

$k = array_keys($a); 
print $k[0]; 
0

這些是得到第一元件的方法:

  • $下一= $ ARR [0];
  • $ next = array_shift($ arr);
  • $ next = current($ arr); //如果內部光標在位置0
1

好,我用這個:

$a = array('ten','ten','ten','three','two','one','ten','four','four'); 
$bb= array_count_values ($a); 
arsort($bb); 
echo reset($bb); 

它僅適用於獲得的第一個元素...謝謝大家。