PHP में मान और प्रकार की समानता
मान लीजिए आप इस तरह से तुलना करना चाहते हैं कि उद्धरण चिह्नों में लिपटी संख्या
बिना उद्धरण चिह्नों वाली उसी संख्या के बराबर न हो।
दूसरे शब्दों में, आप चाहते हैं कि
तुलना न केवल मान के आधार पर, बल्कि डेटा प्रकार के आधार पर भी हो। इसके लिए
ऑपरेटर == के बजाय ऑपरेटर === का उपयोग करना चाहिए।
इस ऑपरेटर के साथ तुलना को सख्त तुलना कहा जाता है।
उदाहरण देखें:
<?php
if ('3' === 3) {
echo '+++';
} else {
echo '---'; // यह काम करेगा, क्योंकि मान प्रकार में समान नहीं हैं
}
?>
लेकिन दो स्ट्रिंग्स '3' की तुलना करने पर
स्क्रीन पर '+++' प्रिंट होगा:
<?php
if ('3' === '3') {
echo '+++'; // यह काम करेगा
} else {
echo '---';
}
?>
ठीक वैसे ही, जैसे संख्याओं की तुलना में:
<?php
if (3 === 3) {
echo '+++'; // यह काम करेगा
} else {
echo '---';
}
?>
दोनों ऑपरेटरों के बीच का अंतर तब स्पष्ट होता है जब मान समान होते हैं, लेकिन डेटा प्रकार अलग होता है। अन्य सभी मामलों में ये ऑपरेटर समान रूप से काम करते हैं। उदाहरण के लिए, अलग-अलग संख्याओं की तुलना करने पर, निश्चित रूप से, माइनस प्रिंट होगा:
<?php
if (2 === 3) {
echo '+++';
} else {
echo '---'; // यह काम करेगा
}
?>
वर्तमान में PHP में, हर जगह सख्त तुलना का उपयोग करना सामान्य बात है। ऐसा माना जाता है कि इससे कोड त्रुटियों के प्रति कम संवेदनशील होता है।
कोड चलाए बिना निर्धारित करें कि स्क्रीन पर क्या प्रिंट होगा:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
कोड चलाए बिना निर्धारित करें कि स्क्रीन पर क्या प्रिंट होगा:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
कोड चलाए बिना निर्धारित करें कि स्क्रीन पर क्या प्रिंट होगा:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
कोड चलाए बिना निर्धारित करें कि स्क्रीन पर क्या प्रिंट होगा:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
कोड चलाए बिना निर्धारित करें कि स्क्रीन पर क्या प्रिंट होगा:
<?php
$test1 = 3;
$test2 = 3;
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>