2011-08-17 14 views
5

मेरे पास एक सरणी है जिसमें डुप्लिकेट मान हैं। मैं सरणी को सॉर्ट करना चाहता हूं ताकि अधिकांश डुप्लिकेट वाले मान पहले पंक्ति में दिखाई दें।डुप्लिकेट मानों के आधार पर PHP arrays को ऑर्डर करना

array(2, 1, 3); 

'2' इसलिए अधिकांश डुप्लिकेट है:

array(1, 2, 3, 2, 1, 2, 2); 

मैं इस सरणी सॉर्ट करने के लिए इतना है कि यह अपने आप में डुप्लिकेट की राशि निम्नलिखित में के आधार पर आदेश देती हैं: यहाँ मेरी सरणी का एक उदाहरण है इसे पहले क्रमबद्ध किया जाता है, उसके बाद मान कम डुप्लीकेट होंगे। क्या कोई जानता है कि मैं इसे कैसे पूरा कर सकता हूं?

उत्तर

11
$acv=array_count_values($array); // 1=>2, 2=>3,3=>1 
arsort($acv); //save keys,   2=>3, 1=>2, 3=>1 
$result=array_keys($acv); //get only keys 2,1,3 
+0

पूरी तरह से काम करता है, धन्यवाद – hohner

+0

यह सही है! यदि आप इस मामले का उपयोग करना चाहते हैं-असंवेदनशील: $ acv = array_count_values ​​(array_map ('strtolower', $ array)); – Alex

0
    सरणी, और एक अन्य मुख्य मान साहचर्य सरणी में वेतन वृद्धि आवृत्तियां पार
  1. मूल्यों द्वारा दूसरी सरणी को सॉर्ट करें।
  2. दूसरी सरणी के array_keys प्राप्त करें।
संबंधित मुद्दे