परिचय
PHP का एक तुलना ऑपरेटर है == जिसके उपयोग से दो objecs वेरिएबल्स का एक साधारण कॉमरिसन किया जा सकता है। यदि दोनों एक ही वर्ग के हैं और संबंधित गुणों के मान समान हैं, तो यह सही हो जाता है।
PHP का === ऑपरेटर दो ऑब्जेक्ट वेरिएबल्स की तुलना करता है और सही रिटर्न देता है यदि और केवल तभी जब वे एक ही क्लास के समान इंस्टेंस को संदर्भित करते हैं
इन आपरेटरों के साथ वस्तुओं की तुलना करने के लिए हम निम्नलिखित दो वर्गों का उपयोग करते हैं
उदाहरण
<?php class test1{ private $x; private $y; function __construct($arg1, $arg2){ $this->x=$arg1; $this->y=$arg2; } } class test2{ private $x; private $y; function __construct($arg1, $arg2){ $this->x=$arg1; $this->y=$arg2; } } ?>
एक ही वर्ग की दो वस्तुएं
उदाहरण
$a=new test1(10,20); $b=new test1(10,20); echo "two objects of same class\n"; echo "using == operator : "; var_dump($a==$b); echo "using === operator : "; var_dump($a===$b);
आउटपुट
two objects of same class using == operator : bool(true) using === operator : bool(false)
एक ही वस्तु के दो संदर्भ
उदाहरण
$a=new test1(10,20); $c=$a; echo "two references of same object\n"; echo "using == operator : "; var_dump($a==$c); echo "using === operator : "; var_dump($a===$c);
आउटपुट
two references of same object using == operator : bool(true) using === operator : bool(true)
विभिन्न वर्गों की दो वस्तुएं
उदाहरण
$a=new test1(10,20); $d=new test2(10,20); echo "two objects of different classes\n"; echo "using == operator : "; var_dump($a==$d); echo "using === operator : "; var_dump($a===$d);
आउटपुट
आउटपुट निम्न परिणाम दिखाता है
two objects of different classes using == operator : bool(false) using === operator : bool(false)