PHP Switch का उपयोग कई सारे code block में से एक code को execute करने के लिए किया जाता हैं। यह if-else-if statement की तरह ही काम करता हैं।
कुछ बुनियादी नियम एक Switch statement के लिए
- Duplicate case वैल्यू का इस्तेमाल नहीं कर सकते हैं, अगर किया जाये तो error दिखायेगा।
- जिस data type का variable, Switch में इस्तेमाल होगा उसी प्रकार के data types का इस्तेमाल case की वैल्यू के लिए होगा।
- case की वैल्यू हमेसा एक constant या एक literal ही होगा, variable का इस्तेमाल case के लिए नहीं किया जा सकता हैं।
- जब किसी variable के लिए एक Switch on है, तो वह case के बराबर हैं। और उस case की statement तब तक execute होता रहेगा जब तक उसे break statement मिल नहीं जाता।
- अगर default कीवर्ड का इस्तेमाल किया जायेगा तो वह हमेसा Switch के अंत में होगा।
आइए समझते है कि PHP Switch काम कैसे करता है।
- सबसे पहले एक बार Switch की expression का मूल्यांकन किया जाता है।
- अब उस expression की वैल्यू को compare किया जाता है प्रतेक case की वैल्यू से।
- जैसे की कोई मैच मिल जाता है case की वैल्यू से तब वह कोड block प्रिंट हो जाता हैं।
- अगर कोई भी मैच नहीं मिलता है तो, default कीवर्ड की वैल्यू को प्रिंट करा देता है जैसे की if-else में else करा देता हैं।
- break और default कीवर्ड ऑप्शनल है और इनका भी इस्तेमाल PHP Switch में होता हैं।
Example: PHP Switch with integer (Number)
<?php
$month = 3;
switch ($month) {
case 1:
echo ("January");
break;
case 2:
echo ("February");
break;
case 3:
echo ("March");
break;
case 4:
echo ("April");
break;
case 5:
echo ("May");
break;
case 6:
echo ("June");
break;
case 7:
echo ("July");
break;
}
?>
Output
March
उदाहरण को समझते हैं।
- हमने एक variable लिया
$month
और उसे एक वैल्यू दे दिया3
. - अब हमने एक Switch बना दिया जो variable के वैल्यू को सर्च करेगा जो की है
case 3
. - अब Switch उस वैल्यू
case 3
को सर्च करेगा और case 3 की वैल्यू को प्रिंट करा देगा जो की है (March).
Example: PHP Switch with String
<?php
$grade = "C";
switch ($grade) {
case "A":
echo ("Excellent");
break;
case "B":
echo ("Very Good");
break;
case "C":
echo ("Good");
break;
case "D":
echo ("Pass");
break;
default:
echo ("Fail");
}
?>
Output
Good
जैसे की हमने integer data type का इस्तेमाल किया था month सर्च करने के लिए ठीक उसी तरह यहाँ पर char, data type का इस्तेमाल किया गया हैं, grade पता करने के लिए।
Note: यहाँ पर कंफ्यूज ना होएं, char के sequence को ही String कहते है, जैसे
कई letters को मिला के ही एक word बनता हैं।
Break Keyword
- जैसा नाम वैसा काम (break = तोड़ना), जब PHP
break
कीवर्ड तक पहुँचता है, तब break कीवर्ड PHP को Switch block से बहार निकाल देता हैं। - और इस तरह code block के आगे की case की जाँच बंद कर देता हैं।
- जब मैच मिल जाए, तो इसका मतलब है कि काम हो गया है और अब जब काम ही हो गया तो आगे कि जाँच की आवश्यक ही नहीं रही। फिर यहा पर break कीवर्ड PHP को Switch ब्लॉक से बाहर कर देता है, जिससे ऑपरेशन का समय कम हो जाता है, क्योँ की यह Switch के बाकि बचे हुए code block को अनदेखा (ignore) कर देता है।
Default Keyword
- अगर कोई भी मैच नहीं मिलता है तो, default कीवर्ड की वैल्यू को प्रिंट करा देता है जैसे की if-else में else करा देता हैं।
default
कीवर्ड कोbreak
कीवर्ड की जरुरत नहीं होती हैं।
Example: PHP Default Keyword
<?php
$month = 6;
switch ($month) {
case 1:
echo ("January");
break;
case 2:
echo ("February");
break;
case 3:
echo ("March");
break;
default:
echo ("No Match Found");
}
?>
Output
No Match Found
उदाहरण को समझते हैं।
हमने variable को एक वैल्यू 6
दिया है, जिसका अर्थ है कि अब Switch सर्च करेगा case 6 को, यदि केस 6 नहीं मिलेगा तो यह default
कीवर्ड के कोड वैल्यू को प्रिंट करा देगा जैसे की (No Match Found).
Note: default कीवर्ड PHP के if-else में else की तरह काम करता हैं।