PHP में ऐरे के साथ काम करते समय, आप अक्सर उनकी तुलना यह जांचने के लिए करते हैं कि क्या उनमें समान तत्व हैं। ऐरे समानता का अर्थ अलग-अलग चीजें हो सकती हैं: समान क्रम में समान तत्व, क्रम की परवाह किए बिना समान तत्व, या सख्त प्रकार मिलान। यह लेख PHP में दो ऐरे समान हैं या नहीं, इसकी जांच के लिए विभिन्न दृष्टिकोणों का पता लगाता है।
== ऑपरेटर का उपयोग करना
== ऑपरेटर एक ढीली तुलना प्रदान करता है, यह जांचता है कि क्या ऐरे में समान क्रम में समान तत्व हैं बिना सख्त प्रकार जांच के ?
<?php $arr1 = [1, 2, 3, 4]; $arr2 = [1, 2, 3, 4]; if ($arr1 == $arr2) { echo "The arrays are equal"; } else { echo "The arrays are not equal"; } ?> The arrays are equal
=== ऑपरेटर का उपयोग करना
=== ऑपरेटर सख्त तुलना करता है, मान और डेटा प्रकार दोनों की जांच करता है ?
<?php $array1 = [1, 2, 3, 4]; $array2 = [1, 2, '3', 4]; if ($array1 === $array2) { echo "The arrays are equal!"; } else { echo "The arrays are not equal!"; } ?> The arrays are not equal!
array_diff() विधि का उपयोग करना
array_diff() फंक्शन ऐरे की तुलना करता है और अंतर लौटाता है। अनऑर्डर्ड तुलना के लिए, जांचें कि क्या अंतर दोनों दिशाओं में मौजूद हैं ?
<?php $array1 = [1, 2, 3]; $array2 = [3, 2, 1]; if (empty(array_diff($array1, $array2)) && empty(array_diff($array2, $array1))) { echo "Arrays are equal"; } else { echo "Arrays are not equal"; } ?> Arrays are equal
अनऑर्डर्ड तुलना के लिए सॉर्टिंग दृष्टिकोण
जब क्रम मायने नहीं रखता, तो पहले दोनों ऐरे को सॉर्ट करें, फिर == का उपयोग करके तुलना करें ?
<?php $array1 = [3, 2, 1]; $array2 = [1, 2, 3]; // दोनों ऐरे को सॉर्ट करें sort($array1); sort($array2); // सॉर्ट किए गए ऐरे की तुलना करें if ($array1 == $array2) { echo "The arrays are equal"; } else { echo "The arrays are not equal"; } ?> The arrays are equal
तुलना सारांश
| Method | Type Checking | Order Sensitive | Best For |
|---|---|---|---|
== | Loose | Yes | Same order, mixed types |
=== | Strict | Yes | Exact matches |
array_diff() | Loose | No | Unordered comparison |
Sort + == | Loose | No | Unordered, simple arrays |
निष्कर्ष
सख्त समानता के लिए === चुनें, क्रम के साथ ढीली तुलना के लिए ==, और अनऑर्डर्ड तुलना के लिए array_diff() या सॉर्टिंग दृष्टिकोण। प्रत्येक विधि आपकी विशिष्ट आवश्यकताओं के आधार पर विभिन्न तुलना आवश्यकताओं को पूरा करती है।