Equality Operators PHP Example Easy to Learn and Follow

Equality Operators PHP: ये Operators दो Values के बीच इस बात को Check करते हैं कि वे दोनों Values आपस में बराबर हैं या नहीं। मूल रूप से इस Category में चार Operators को Specify किया जा सकता है।

==              Is Equal To
!=               Is Not Equal To
===            Is Identically Equal To
!==             Is Not Identically Equal To

इन्हें हम निम्न उदाहरण द्वारा ज्यादा बेहतर तरीके से समझ सकते हैं:

x = 10	y = 10

x == y	// x is equal to y			:	True
x != y	// x is not equal to y 			:	False
x===y	// x is identically equal to y 		:	True
x !== y	// x is not identically equal to y	:	False

जब x व y दोनों में Integer 10 होता है, तब हमें समझने में कोई परेशानी नहीं आती कि कौनसा Statement True Return करेगा और कौनसा False, क्योंकि उपरोक्त Statements में पहला Expression True Return कर रहा है क्योंकि x व y एक दूसरे के बराबर हैं।

जबकि दूसरा Statement False Return कर रहा है क्योंकि दूसरा Statement कह रहा है कि x व y एक दूसरे के बराबर नहीं है, जो कि गलत है, क्योंकि x व y दोनों में Integer मान 10 होने की वजह से दोनों बराबर हैं।

तीसरा Statement कह रहा है कि x व y दोनों Identically बराबर हैं। यानी इन दोनों Variables में जो मान है, वह भी बराबर है और उन मानों का Data Type (जो कि हमारे उदाहरण मान 10 होने की वजह से Integer है।) भी समान है। इसलिए ये Statement भी True Return कर रहा है।

चौथा Statement कह रहा है कि x व y दोनों Identically Equal नहीं हैं, जो कि गलत है क्योंकि x व y दोनों Integer Type के हैं और दोनों में Value भी समान यानी 10 है, इसलिए वास्तव में ये दोनों Identically Equal हैं। फलस्वरूप ये Statement हमें False Return करता है।

x = "10"	y = 10

x == y	// x is equal to y			:	True
x != y	// x is not equal to y 			:	False
x===y	// x is identically equal to y 		:	False
x!==y	// x is not identically equal to y 	:	True

उपरोक्त Codes में x में एक String Format में मान 10 Stored है जबकि y में Integer Format में। इसलिए इस बार Return होने वाले True या False अलग तरीके से Return होते हैं।

जब पहला Statement Execute होता है, तब x की String Value को PHP एक Integer Value में Convert करने के बाद Comparison करता है कि x का मान y के मान के बराबर है। फलस्वरूप हमें True प्राप्त होता है।

दूसरा Statement Execute होते समय भी PHP x के String मान को Integer में Convert करने के बाद Compare करता है, इसलिए दो Integers के बीच Comparison होता है और इस स्थिति में मान x का मान 10 y के मान 10 के बराबर ही होता है। फलस्वरूप हमें False Return होता है, क्योंकि ये Statement कह रहा है कि x का मान y के मान के बराबर नहीं है, जो कि गलत है।

तीसरा Statement कह रहा है कि x व y के मान व Data Type दोनों समान हैं, जो कि गलत है। क्योंकि हालांकि x मान 10 को String Format में Hold कर रहा है लेकिन Comparison के समय ये मान 10 String से Integer में Convert हो जाता है, लेकिन फिर भी वास्तव में तो x एक String Type का Variable है। इसलिए Variable y के Data Type के समान तो नहीं है। परिणामस्वरूप हमें तीसरे Expression के Result के रूप में False प्राप्त होता है।

चौथा Statement कह रहा है कि x व y दोनों Identically Equal नहीं हैं, जो कि सही है क्योंकि x व y दोनों Integer Type के नहीं हैं भले ही दोनों में Value समान यानी 10 है, इसलिए वास्तव में ये दोनों Identically Equal नहीं हैं। फलस्वरूप ये Statement हमें True Return करता है।

यदि हम उपरोक्त उदाहरण को ही PHP Code द्वारा Explain करना चाहें, तो हमारा PHP Code निम्नानुसार बन सकता हैः

<?php	
	$firstVal = 10;
	$secondVal = 10;
	var_dump($firstVal == $secondVal);
	var_dump($firstVal != $secondVal);
	var_dump($firstVal === $secondVal);
	var_dump($firstVal !== $secondVal);
	
	$firstVal = "10";
	var_dump($firstVal == $secondVal);
	var_dump($firstVal != $secondVal);
	var_dump($firstVal === $secondVal);
	var_dump($firstVal !== $secondVal);
?>

var_dump() Function PHP द्वारा Provide किया जाने वाला एक ऐसा Function है, जो Argument के रूप में एक Identifier लेता है और Output के रूप में हमें उस Identifier के Data Type व Value को Represent करता है। जब हम उपरोक्त Script को Execute करते हैं, तब हमें निम्न Output प्राप्त होता है, जो कि Exactly वो ही है, जो हमने इस Script से Just पहले Discuss किया हैः

bool(true)
bool(false)
bool(true)
bool(false)

bool(true)
bool(false)
bool(false)
bool(true)

जैसाकि हमने पहले भी कहा था कि Float Value पर हम किसी तरह का विश्‍वास नहीं कर सकते, क्योंकि Type Casting के दौरान Float Values का मान बदल जाता है। इसलिए Float Values के साथ Equality Operators को Use नहीं करना चाहिए, क्योंकि हमें Exactly सही उत्तर ही प्राप्त होगा, इस बात की कोई Surety नहीं होती है।

Increment Decrement PHP Example with Simple Discussion
PHP Relational Operators or PHP Comparative Operators

PHP in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook PHP in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW GET DEMO REVIEWS