2010-01-11 12 views
8

कैसे मैं arrray कुंजीतरह सरणी आदेश

array(
4 => 'four', 
3 => 'three', 
2 => 'two', 
1 => 'one', 
) 

इस

array(
1 => 'one', 
2 => 'two', 
3 => 'three', 
4 => 'four', 
) 
+0

शब्दकोश क्रमबद्ध नहीं हैं ... अतिरिक्त कुंजी को एक अलग सूची में सीटी करें और इसे सॉर्ट करें। –

उत्तर

21

तुम सिर्फ क्रम को उल्टा करने के लिए चाहते हैं, array_reverse का उपयोग करें:

$reverse = array_reverse($array, true); 

दूसरा पैरामीटर कुंजी के संरक्षण के लिए है।

3

आप एक सरणी है की तरह से इस सरणी सॉर्ट कर सकते हैं, आप कुंजी से यह सॉर्ट करने के लिए उलटे क्रम में चाहते हैं -

रिवर्स क्रम में कुंजी के द्वारा एक सरणी प्रकार डेटा +०१२३५१६४१० की कुंजी को बनाए रखने के: - आप krsort समारोह का उपयोग कर सकतेसहसंबंध। सहयोगी सरणी के लिए यह मुख्य रूप से उपयोगी है।

$arr = array(
    1 => 'one', 
    2 => 'two', 
    3 => 'three', 
    4 => 'four', 
); 

krsort($arr); 
var_dump($arr); 

जो आप उत्पादन के इस प्रकार मिलेगा:

$ /usr/local/php-5.3/bin/php temp.php 
array(4) { 
    [4]=> 
    string(4) "four" 
    [3]=> 
    string(5) "three" 
    [2]=> 
    string(3) "two" 
    [1]=> 
    string(3) "one" 
} 


एक sidenode रूप


आप मामले में, आप कोड के इस प्रकार होगा: यदि आप मूल्यों से क्रमबद्ध करना चाहते थे, तो आप arsort का उपयोग कर सकते थे - लेकिन ऐसा लगता है कि आप यहां क्या चाहते हैं।

0

krsort() आज़माएं - जो सरणी कुंजी का उपयोग करके विपरीत में सॉर्ट करेगा, जबकि रिसॉर्ट सरणी मान पर सॉर्ट करेगा।

27

आप DESC आदेश उपयोग में कुंजी सॉर्ट करने के लिए करना चाहते हैं:

arsort($arr); 

यदि आप चाहते हैं करने के लिए:

krsort($arr); 

आप DESC क्रम में मूल्यों को सॉर्ट और सूचकांक संघ उपयोग बनाए रखने के लिए चाहते हैं मूल्यों को डीईएससी प्राकृतिक क्रम में क्रमबद्ध करें और इंडेक्स एसोसिएशन का उपयोग बनाए रखें:

natcasesort($arr); 
$arr = array_reverse($arr, true); 
संबंधित मुद्दे