Switch Case in PHP – Un-Conditional Statement

Switch Case in PHP: switch Statement को ही Selection Statement भी कहा जाता है और PHP का ये इकलौता Unconditional Statement है। यानी switch Statement में हम किसी तरह की Condition Specify नहीं करते हैं, बल्कि हम केवल किसी Expression या Variable को Specify कर सकते हैं।

जब हम किसी प्रोग्राम में ढेर सारी if Conditions का प्रयोग करते हैं, तो प्रोग्राम बहुत जटिल हो जाता है। इस वजह से प्रोग्राम को समझना व पढना काफी मुश्किल हो जाता है। इस कठिनाई से बचने के लिये हम एक और Control Statement switch का प्रयोग करते हैं।

जिस तरह if Statement एक Two – Way Statement है, उसी तरह switch एक Multi – Way Statement है। यह बिल्कुल if – elseif – else के जैसा ही काम करता है। इसकी सामान्य संरचना निम्नानुसार होती है-

		switch ( variable )
		{
			case value1:
				Statement or Statement Block 1;
			break;

			case value2:
				Statement or Statement Block 2;
			break;

			case value3:
			{
				Statement or Statement Block 3;
			}
			break;

				“		” 		“	  ”
				“		” 		“	  ”
				“		” 		“	  ”

			case value n:
				Statement or Statement Block n;
			break;

			default:	
				Statement or Statement Block;
			break;
		}

		Sequential Statement a;

कार्यप्रणाली – इस संरचना में value1, value2value n मान हैं, जिन्हे Case Labels कहा जाता है। इनके बाद Colon लगाना जरूरी होता है साथ ही ये सभी मान अलग-अलग होने जरूरी होते हैं।

Statement or Statement Block 1, Statement or Statement Block 2, ……… Statement or Statement Block n Statements का समूह है। इन Statements के समूहों में एक से अधिक Statements होने पर भी मंझले कोष्‍टठक की जरूरत नहीं होती है। फिर भी यदि ये कोष्‍टठक लगा दिये जाएं, तो भी PHP Interpreter कोई परेशानी नहीं करता है।

switch Statement के Execution के लिये सर्वप्रथम Variable के मान की तुलना क्रम से एक-एक करके value1, value2 …… value n से की जाती है और जहां भी ये मान Match हो जाता है, उस Case Label के लिए लिखे गये Statements का Execution हो जाता है।

इस संरचना में सभी Statement Blocks के बाद break लिखा जाता है जो कि Statements के समूह के अंत को Represent करता है व Statements Block के Execution के बाद प्रोग्राम Control को switch Statement के बाहर sequential Statement a पर ले जाता है।

यदि यह break ना लिखा जाए, तो Statement Block के Execution के बाद भी Program Control switch Statement Block के अंदर ही रहता है और आगे के Statement का Execution करता रहता है और तब तक करता रहता है जब तक कि इसे कोई break नहीं मिल जाता।

switch Statement के लिये दी गई संरचना में default Case Label एक Optional Label है। यदि यह switch Statement में होता है व $variable का मान switch Statement में दिये गए किसी भी Statement से Match नहीं होता, तो Program Control default Case Label पर चला जाता है और इसके अंतर्गत दिये गए Statement का Execution कर देता है।

switch Case Labels को हम किसी भी क्रम में रख सकते हैं, यानी चौथे स्थान का Case प्रथम स्थान पर, प्रथम स्थान का Case तीसरे स्थान पर। default Statement को भी किसी भी स्थान पर रख सकते हैं।

इस Control Statement को हम if…elseif Ladder Statement के स्थान पर भी Use कर सकते हैं। यानी हम पिछले Program को निम्नानुसार इस Statement के प्रयोग द्वारा भी लिख सकते हैं-

<?php
	$percent = 90;
	$percent = (integer)($percent/10);
	
	switch($percent) {
		case 10:
		case 9:
		case 8:
			ECHO ("Pass with Honors");
		break;
			
		case 7:
		case 6:
			ECHO ("First Division Pass ");
		break;
			
		case 5:
			ECHO ("Second Division Pass ");
		break;
			
		case 4:
			ECHO ("Third Division Pass");
		break;
		
		default:
			ECHO ("Fail");
	}
?>

कभी-कभी हमें switch Statement में किसी Calculation के लिए Variable Declare करने पडते हैं। जब हमें किसी switch Statement में Variable Declare करना पडता है, तब हमें Curly Braces के Block को Use करना जरूरी होता है।

जिस तरह से हम if Control Statement की Nesting कर सकते हैं, उसी तरह से हम switch Control Statement की भी Nesting कर सकते हैं।


Special Discount Offer

खरीदिए एक से ज्‍यादा EBooks, और पाईए ₹100 से ₹1200 तक का Extra Cash Discount

Discount Coupon Codes