ऐरे फ़ंक्शंस का उपयोग करके कॉलम मानों द्वारा ऑब्जेक्ट्स के ऐरे की तुलना करना
कई प्रोग्रामिंग भाषाएं ऐरे की तुलना करने के लिए अंतर्निहित फ़ंक्शन प्रदान करती हैं। हालाँकि, ये फ़ंक्शन आम तौर पर आदिम डेटा प्रकारों और सरणियों के साथ काम करते हैं, वस्तुओं के सरणियों के साथ नहीं। इससे यह सवाल उठता है कि किसी विशिष्ट संपत्ति या कॉलम के आधार पर वस्तुओं की सरणियों की तुलना कैसे की जाए।
इसे संबोधित करने के लिए, PHP array_udiff प्रदान करता है, एक फ़ंक्शन जो कस्टम तुलना फ़ंक्शन को निर्दिष्ट करके वस्तुओं की सरणियों की तुलना करने में सक्षम बनाता है। निम्नलिखित उदाहरण पर विचार करें:
$first_array = array( (object) ['id' => '205', 'day_id' => '12'], (object) ['id' => '210', 'day_id' => '15'] ); $second_array = array( (object) ['id' => '205', 'day_id' => '12'], (object) ['id' => '215', 'day_id' => '18'] );
'आईडी' प्रॉपर्टी के आधार पर इन सरणियों की तुलना करने के लिए, आप निम्नानुसार एक अनाम फ़ंक्शन का उपयोग कर सकते हैं:
$diff = array_udiff($first_array, $second_array, function ($obj_a, $obj_b) { return $obj_a->id - $obj_b->id; } );
यह फ़ंक्शन अंतर निर्धारित करने के लिए दो वस्तुओं के 'आईडी' मान घटाता है। परिणामी $diff में पहले एरे में वे ऑब्जेक्ट होंगे जिनका दूसरे एरे में मेल खाने वाला 'आईडी' मान नहीं है।
संक्षेप में, array_udiff फ़ंक्शन को नियोजित करके और एक कस्टम तुलना फ़ंक्शन को परिभाषित करके, डेवलपर्स ऐसा कर सकते हैं डेटा विश्लेषण कार्यों में लचीलापन प्रदान करते हुए, विशिष्ट गुणों या स्तंभों के आधार पर वस्तुओं की सरणियों की तुलना करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3