"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > PHP में ऑब्जेक्ट फ़ील्ड के अनुसार ऑब्जेक्ट की सारणी को क्रमबद्ध करें

PHP में ऑब्जेक्ट फ़ील्ड के अनुसार ऑब्जेक्ट की सारणी को क्रमबद्ध करें

2024-11-08 को प्रकाशित
ब्राउज़ करें:921

Sort Array of Objects by Object Fields in PHP

PHP में ऑब्जेक्ट फ़ील्ड द्वारा ऑब्जेक्ट की एक सरणी को सॉर्ट करने के कई तरीके हैं। यहां कुछ सामान्य दृष्टिकोण दिए गए हैं:

  • कस्टम तुलना फ़ंक्शन के साथ usort() फ़ंक्शन का उपयोग करना

  • एक कस्टम सॉर्टिंग एल्गोरिदम लागू करना

  • array_multisort() फ़ंक्शन का उपयोग करना

कस्टम तुलना फ़ंक्शन के साथ usort() फ़ंक्शन का उपयोग करना

PHP में ऑब्जेक्ट फ़ील्ड द्वारा ऑब्जेक्ट की एक सरणी को सॉर्ट करने के लिए कस्टम तुलना फ़ंक्शन के साथ usort() फ़ंक्शन का उपयोग करने का एक उदाहरण यहां दिया गया है:

// Custom comparison function
function compareByField($a, $b) {
   // Replace 'fieldName' with the actual field you want to sort by
   return $a->fieldName  $b->fieldName;
}

// Sort the array using the custom comparison function
usort($array, 'compareByField');

इस उदाहरण में, आपको 'फ़ील्डनाम' को उस वास्तविक फ़ील्ड नाम से बदलना होगा जिसके अनुसार आप ऑब्जेक्ट को सॉर्ट करना चाहते हैं। Usort() फ़ंक्शन सरणी पर पुनरावृति करेगा और निर्दिष्ट फ़ील्ड के आधार पर ऑब्जेक्ट की प्रत्येक जोड़ी की तुलना करने के लिए CompareByField फ़ंक्शन को कॉल करेगा। यदि $a को छोटा माना जाता है तो तुलना फ़ंक्शन को नकारात्मक मान लौटाना चाहिए, यदि $a को बड़ा माना जाता है तो सकारात्मक मान, या यदि उन्हें बराबर माना जाता है तो शून्य लौटाना चाहिए।

इस कोड को निष्पादित करने के बाद, $सरणी को निर्दिष्ट फ़ील्ड के आधार पर आरोही क्रम में क्रमबद्ध किया जाएगा।

एक कस्टम सॉर्टिंग एल्गोरिदम लागू करना

यहां PHP में ऑब्जेक्ट फ़ील्ड द्वारा ऑब्जेक्ट की एक सरणी को सॉर्ट करने के लिए एक कस्टम सॉर्टिंग एल्गोरिदम लागू करने का एक उदाहरण दिया गया है:

// Custom sorting algorithm
function sortByField($array, $field) {
   $length = count($array);
   for ($i = 0; $i $field > $array[$j]->$field) {
            $temp = $array[$i];
            $array[$i] = $array[$j];
            $array[$j] = $temp;
         }
      }
   }
   return $array;
}

// Sort the array using the custom sorting algorithm
$sortedArray = sortByField($array, 'fieldName');

इस उदाहरण में, sortByField() फ़ंक्शन ऑब्जेक्ट की एक सरणी ($array) और फ़ील्ड नाम ($फ़ील्ड) को पैरामीटर के रूप में लेता है। यह निर्दिष्ट फ़ील्ड के आधार पर वस्तुओं की तुलना करने के लिए एक सरल नेस्टेड लूप का उपयोग करता है और आरोही क्रम प्राप्त करने के लिए यदि आवश्यक हो तो उनकी स्थिति को स्वैप करता है।

इस कोड को निष्पादित करने के बाद, $sortedArray में निर्दिष्ट फ़ील्ड के आधार पर आरोही क्रम में क्रमबद्ध ऑब्जेक्ट शामिल होंगे।

कृपया 'फ़ील्डनाम' को उस वास्तविक फ़ील्ड नाम से बदलना सुनिश्चित करें जिसके अनुसार आप ऑब्जेक्ट को सॉर्ट करना चाहते हैं।

Array_multisort() फ़ंक्शन का उपयोग करना

PHP में ऑब्जेक्ट फ़ील्ड द्वारा ऑब्जेक्ट की सरणी को सॉर्ट करने के लिए array_multisort() फ़ंक्शन का उपयोग करने का एक उदाहरण यहां दिया गया है:

// Get an array of the field values to sort by
$fieldName = array_column($array, 'fieldName');

// Sort the array of objects using array_multisort()
array_multisort($fieldName, SORT_ASC, $array);

इस उदाहरण में, array_column() का उपयोग सरणी में प्रत्येक ऑब्जेक्ट से निर्दिष्ट फ़ील्ड (फ़ील्डनाम) के मान निकालने के लिए किया जाता है। फ़ील्ड मानों की परिणामी सरणी ($fieldName) को फिर array_multisort() में पहले तर्क के रूप में उपयोग किया जाता है, उसके बाद $सरणी में ही उपयोग किया जाता है।

SORT_ASC स्थिरांक इंगित करता है कि छँटाई आरोही क्रम में की जानी चाहिए। यदि आप अवरोही क्रम में क्रमबद्ध करना चाहते हैं, तो आप इसके बजाय SORT_DESC का उपयोग कर सकते हैं।

इस कोड को निष्पादित करने के बाद, $सरणी को निर्दिष्ट फ़ील्ड के आधार पर आरोही क्रम में क्रमबद्ध किया जाएगा।

कृपया सुनिश्चित करें कि आप 'फ़ील्डनाम' को उस वास्तविक फ़ील्ड नाम से बदल दें जिसके अनुसार आप ऑब्जेक्ट को सॉर्ट करना चाहते हैं।

निष्कर्ष

निष्कर्ष में, PHP में ऑब्जेक्ट फ़ील्ड द्वारा ऑब्जेक्ट की सरणी को सॉर्ट करने के कई तरीके हैं, जैसे कस्टम तुलना फ़ंक्शन के साथ usort(), array_multisort(), या array_map() का उपयोग करना। आपके प्रोजेक्ट की विशिष्ट आवश्यकताओं के आधार पर सबसे उपयुक्त दृष्टिकोण का चयन किया जा सकता है।

विज्ञप्ति वक्तव्य यह लेख इस पर पुनर्मुद्रित है: https://www.tutorialspoint.com/sort-array-of-objects-by-object-fields-in-php यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3