दिनांक के अनुसार वस्तुओं की एक सरणी को क्रमबद्ध करना
PHP में, हमें अक्सर एक विशिष्ट संपत्ति के आधार पर वस्तुओं की एक सरणी को क्रमबद्ध करने की आवश्यकता का सामना करना पड़ता है, जैसे दिनांक फ़ील्ड. यह हमें अपने डेटा को कालानुक्रमिक क्रम में प्रदर्शित या हेरफेर करने की अनुमति देता है। दिनांक संपत्ति:
$array = [ 495 => (वस्तु)['दिनांक' => '2009-10-31 18:24:09'], 582 => (वस्तु)['दिनांक' => '2010-2-11 12:01:42'], ];
इन वस्तुओं को उनकी तिथि संपत्ति के आधार पर आरोही क्रम (सबसे पुराने पहले) में क्रमबद्ध करने के लिए, हम स्ट्रेटोटाइम() फ़ंक्शन और यूसोर्ट() फ़ंक्शन का उपयोग कर सकते हैं।$array = [
495 => (object)['date' => '2009-10-31 18:24:09'],
582 => (object)['date' => '2010-2-11 12:01:42'],
];
usort() का उपयोग करने के लिए, हमें एक कस्टम तुलना फ़ंक्शन को परिभाषित करने की आवश्यकता है जो दो वस्तुओं की तुलना उनकी दिनांक संपत्ति के आधार पर करता है। निम्नलिखित कोड एक फ़ंक्शन को परिभाषित करता है जो पहले ऑब्जेक्ट की तारीख के टाइमस्टैंप (स्ट्रेटोटाइम() का उपयोग करके परिवर्तित) को दूसरे ऑब्जेक्ट की तारीख के टाइमस्टैंप से घटाता है:
function cb($a, $b) { रिटर्न स्ट्रेटोटाइम($a['दिनांक']) - स्ट्रेटोटाइम($b['दिनांक']); ) दूसरा तर्क:
usort($array, 'cb');
function cb($a, $b) {
return strtotime($a['date']) - strtotime($b['date']);
}
पहले से उदाहरण सरणी का उपयोग करते हुए, परिणामी क्रमबद्ध सरणी होगी:
[ 495 => (वस्तु)['दिनांक' => '2009-10-31 18:24:09'], 582 => (वस्तु)['दिनांक' => '2010-2-11 12:01:42'], ]
usort($array, 'cb');
PHP 5.3 और ऊपर के लिए, एक सरल अनाम फ़ंक्शन का उपयोग तुलना फ़ंक्शन के रूप में किया जा सकता है:
usort($सरणी, फ़ंक्शन($a, $b) { रिटर्न स्ट्रेटोटाइम($a['दिनांक']) - स्ट्रेटोटाइम($b['दिनांक']); });
यह दृष्टिकोण पिछले वाले के समान ही सॉर्टिंग परिणाम प्राप्त करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3