PHP Relational Operators or PHP Comparative Operators

PHP Relational Operators: जैसाकि हम नाम से ही समझ सकते हैं, इन Operators का प्रयोग हमेंशा दो Operands को आपस में Compare करने के लिए किया जाता है। जब दो Operands के बीच कोई बात सही होती है, तो ये Operator True Return करते हैं, जबकि बात सही न होने की स्थिति में ये Operators False Return करते हैं। PHP में मूल रूप से निम्न Comparison Operators होते हैं:

<                is Less Then
>                is Greater Then
<=              is Less Then or Equal To
>=              is Greater Then or Equal To
? :              Ternary Operator

ये Operators भी Equality Operators की तरह हमेंशा True या False ही Return करते हैं। इन Operators को एक Program द्वारा निम्नानुसार समझा जा सकता हैः

<?php	
	$firstVal = 10;
	$secondVal = 10;
	var_dump($firstVal < $secondVal);	//10 is less then 10 :False
	var_dump($firstVal > $secondVal);	//10 is greater then 10 :False
	var_dump($firstVal <= $secondVal);	//10 is less then or equal to 10 :True
	var_dump($firstVal >= $secondVal);	//10 is greater then or equal to 10 :True
		
	$firstVal = "15";
	#Now $firstValue is a String with Value 15
	var_dump($firstVal < $secondVal);	//15 is less then 10 : False
	var_dump($firstVal > $secondVal);	//15 is greater then 10 : True
	var_dump($firstVal <= $secondVal);	//15 is less then or equal to 10 : False
	var_dump($firstVal >= $secondVal);	//15 is greater then or equal to 10 : True

	$secondVal = "25";
	#Now $secondValue is a String with Value 25
	var_dump($firstVal < $secondVal);	//15 is less then 25 :True
	var_dump($firstVal > $secondVal);	//15 is greater then 25 :False
	var_dump($firstVal <= $secondVal);	//15 is less then or equal to 25 :True
	var_dump($firstVal >= $secondVal);	//15 is greater then or equal to 25 :False
?>

उपरोक्त Codes व साथ में Specify किए गए Comment द्वारा हम आसानी से समझ सकते हैं कि जब Expression द्वारा कही जा रही बात सही होती है, तब True Return होता है, जबकि कही जा रही बात गलत होने पर False Return होता है।

उदाहरण के लिए सबसे पहले Expression में $firstVal < $secondVal द्वारा ये कहा जा रहा है कि “$firstVal का मान छोटा है $secondVal के मान से” यानी “10 छोटा है 10 से” जो कि गलत है। क्योंकि 10 कभी भी 10 से छोटा नहीं होता बल्कि बराबर होता है। परिणामस्वरूप ये Statement False Return कर रहा है। Turnery Operator एक प्रकार का Statement है जो वास्तव में if … else Statement का छोटा रूप है। इसका Syntax निम्नानुसार होता हैः

Condition ? True_Situation_Statement : False_Situation_Statement

Condition के स्थान पर हम कोई भी Expression लिख सकते हैं, जिसमें सामान्यतः Comparison, Equality अथवा Logical Operators का प्रयोग किया गया होता है। क्योंकि ये Operators हमेंशा True या False के रूप में एक Binary Value Return करते हैं।

यानी हम Condition के स्थान पर हर उस Expression को Specify कर सकते हैं, जो कि True या False Return करता है अथवा True या False को Represent करता हुआ मान Return करता है।

यदि Condition True Return करता है, तो इस Ternary Operator का True_Situation_Statement के स्थान पर लिखे गए Codes Execute हो जाते हैं, जबकि Condition के False Return करने की स्थिति में False_Situation_Statement के स्थान पर लिखा गया Code Execute हो जाता है। इसे हम निम्न Program द्वारा ज्यादा बेहतर तरीके से समझ सकते हैं:

<?php	
	$firstVal = 10;
	$secondVal = 20;
	
	$firstVal > $secondVal ? 
		print "$firstVal is Greater then $secondVal" : 
		print "$secondVal is Greater then $firstVal.";  
?>

//Output:
	20 is Greater then 10.

जब उपरोक्त Statement में $firstVal > $secondVal Statement Execute होता है, तब Condition False हो जाती है, क्योंकि $firstVal Variable में मान के रूप में 10 है जबकि $secondVal Variable में मान के रूप में 20 है और 10 कभी भी 20 से बडा नहीं होता। फलस्वरूप Condition False होने कि स्थिति में Ternary Operator का दूसरा Statement Execute हो जाता है।

हम Turnery Operator की Nesting भी कर सकते हैं और एक से ज्यादा Conditions के आधार पर किसी Statement को Execute कर सकते हैं। लेकिन जब हम एक Turnery Operator में दूसरे Turnery Operator की Nesting करते हैं, तब हमें सभी Nested Turnery Operators को कोष्‍ठक के बीच Enclose करना चाहिए, अन्यथा कभी-कभी काफी परेशानी भरा Bug पैदा हो जाता है।

निम्न Program में हमने तीन संख्‍याओं में से बडी संख्‍या ज्ञात करने के लिए Turnery Operator की Nesting करते हुए एक PHP Script Program Create किया हैः

<?php	
	$firstVal = 100;
	$secondVal = 51;
	$thirdVal = 30;
	
	$firstVal > $secondVal ? 
	/* True Part */	($firstVal>$thirdVal ? 	print "Biggest Value is $firstVal" :	 
						print "Biggest Value is $thirdVal") :
	/*False Part*/	($secondVal>$thirdVal ? print "Biggest Value is $secondVal" :
						print "Biggest Value is $thirdVal") ;
?>

Turnery Operator को इस प्रकार से Use करते समय सावधानी बरतनी जरूरी होती है। यदि विशेष रूप से जरूरत न हो, तो PHP में Turnery Operator को Avoid करना चाहिए और इसके स्थान पर Simple if…else Conditional Statement का प्रयोग करना चाहिए।

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

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW GET DEMO REVIEWS