दिलचस्प पोस्ट
कैसे nth jQuery तत्व प्राप्त करने के लिए मुझे std :: thread :: detach का उपयोग कब करना चाहिए? एंड्रॉइड में प्रगति पट्टी को कैसे अनुकूलित करें प्रेसिजन बनाम सिस्टम। नैनोटाइम की सटीकता () अवरोधन और गैर अवरुद्ध उपप्रोसेस कॉल एंड्रॉइड में क्लिक करने योग्य विगेट्स आप अपने अनुरोध का परीक्षण कैसे करते हैं। JQuery स्ट्रिंग चर? सिक्योर वेब सर्विसेज़: HTTPS बनाम SOAP + WS-Security पर REST। कौनसा अच्छा है? Parallel.For (): पाश के बाहर चर को अद्यतन करें मैं नवीनतम संस्करण में कैसे कोने 2 (एनपीएम) को सही तरीके से अपग्रेड करूँ? एक निर्माता में वर्चुअल सदस्य कॉल वेबसाइट पर सभी लिंक / पृष्ठों को कैसे खोजें सी # एएसपी.नेट एकल साइन-ऑन का कार्यान्वयन तुल्यकालिक कनेक्शन के लिए एचटीटीपी क्लाइंट का उपयोग क्यों करें यह कैसे पता चलेगा कि क्या उपवर्ग एक रनटाइम पर क्लास का एक उदाहरण है?

मान द्वारा मल्टी-आयामी सरणी को सॉर्ट करें

संभव डुप्लिकेट:
मैं PHP में एक बहुआयामी सरणी कैसे क्रमबद्ध करूं?

मैं कैसे "ऑर्डर" कुंजी के मूल्य से इस सरणी को सॉर्ट कर सकता हूँ? हालांकि मूल्य वर्तमान में अनुक्रमिक हैं, वे हमेशा नहीं होंगे

Array ( [0] => Array ( [hashtag] => a7e87329b5eab8578f4f1098a152d6f4 [title] => Flower [order] => 3 ) [1] => Array ( [hashtag] => b24ce0cd392a5b0b8dedc66c25213594 [title] => Free [order] => 2 ) [2] => Array ( [hashtag] => e7d31fc0602fb2ede144d18cdffd816b [title] => Ready [order] => 1 ) ) 

वेब के समाधान से एकत्रित समाधान "मान द्वारा मल्टी-आयामी सरणी को सॉर्ट करें"

usort : यदि आप अभी भी PHP 5.2 या पहले के संस्करण पर हैं, तो आपको पहले सॉर्टिंग फंक्शन को परिभाषित करना होगा:

 function sortByOrder($a, $b) { return $a['order'] - $b['order']; } usort($myArray, 'sortByOrder'); 

PHP 5.3 से शुरू, आप एक अनाम फ़ंक्शन का उपयोग कर सकते हैं:

 usort($myArray, function($a, $b) { return $a['order'] - $b['order']; }); 

और अंत में PHP 7 के साथ आप "स्पेसशिप ऑपरेटर" का उपयोग कर सकते हैं:

 usort($myArray, function($a, $b) { return $a['order'] <=> $b['order']; }); 

इसे बहुआयामी सॉर्टिंग के लिए विस्तारित करने के लिए, पहले / शून्य के सबसे पहले सॉर्टिंग तत्वों का संदर्भ दें – सबसे नीचे समझाया गया है आप इसका उपयोग उप-तत्वों पर क्रमबद्ध करने के लिए भी कर सकते हैं।

 usort($myArray, function($a, $b) { $retval = $a['order'] <=> $b['order']; if ($retval == 0) { $retval = $a['suborder'] <=> $b['suborder']; if ($retval == 0) { $retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder']; } } return $retval; }); 

यदि आपको प्रमुख संघों को बनाए रखने की आवश्यकता है, तो uasort() उपयोग करें – मैन्युअल में सरणी सॉर्टिंग फ़ंक्शंस की तुलना देखें

 function aasort (&$array, $key) { $sorter=array(); $ret=array(); reset($array); foreach ($array as $ii => $va) { $sorter[$ii]=$va[$key]; } asort($sorter); foreach ($sorter as $ii => $va) { $ret[$ii]=$array[$ii]; } $array=$ret; } aasort($your_array,"order"); 

मैं इस फ़ंक्शन का उपयोग करता हूं:

 function array_sort_by_column(&$arr, $col, $dir = SORT_ASC) { $sort_col = array(); foreach ($arr as $key=> $row) { $sort_col[$key] = $row[$col]; } array_multisort($sort_col, $dir, $arr); } array_sort_by_column($array, 'order'); 

मैं आम तौर पर उपयोग करते हैं , और अपने स्वयं के तुलना फ़ंक्शन को पास करते हैं I इस मामले में, यह बहुत सरल है:

 function compareOrder($a, $b) { return $a['order'] - $b['order']; } usort($array, 'compareOrder'); 
 $sort = array(); $array_lowercase = array_map('strtolower', $array_to_be_sorted); array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $alphabetically_ordered_array); 

यह दोनों ऊपरी और निचले मामले अक्षरों का ख्याल रखता है