Please support if you like my work by payment through upi: sinhamit@icici or payment by bank
account name: Amit Kumar Sinha,
account number: 2646728782
IFSC code: KKBK0005660
SWIFT: KKBKINBB
switch statements in Category: पीएचपी by amit
🕙 Posted on 2023-06-07 at 06:12:52
switch, break, continue
कई प्रोग्रामर switch(){}
ब्लॉक और if(){} elseif(){} else{} ब्लॉक की तुलना करते हैं और सोचते हैं कि दोनों एक जैसे (equivalent) हैं। यह किसी मामले में सही हो सकता है, लेकिन मेरी राय में, switch का उपयोग वहां किया जाता है जहां आपके पास चर/
स्विच स्टेटमेंट एक ही एक्सप्रेशन पर IF स्टेटमेंट की एक श्रृंखला के समान है । कई मौकों पर, आप एक ही चर (variable या अभिव्यक्ति) की कई अलग-अलग मानों के साथ तुलना करना चाहते हैं, जिसके आधार पर कि यह किस मूल्य के बराबर है, कोड के एक अलग टुकड़े को निष्पादित करना चाहते हैं। यह वास्तव में स्विच स्टेटमेंट के लिए है। आइए, निम्नलिखित उदाहरणों की जांच करें:
<?php
$my_score = 75; // डेटा या मूल्य जिसको जांच करना है
if
( $my_score >= 90 ) {
echo 'A';
} elseif
( $my_score >= 80 ) {
echo 'B';
} elseif
( $my_score >= 70 ) {
echo 'C';
} elseif
( $my_score >= 60 ) {
echo 'D';
} elseif
( $my_score >= 50 ) {
echo 'E';
} else
{
echo 'F';
}?>
उपरोक्त if(){} elseif(){} else{} ब्लॉक कुछ व्यावहारिक मामलों में और अधिक जटिल हो सकते हैं, निम्नानुसार हैं। उस स्थिति में, switch(){}
ब्लॉक if(){} elseif(){} else{} ब्लॉक से थोड़ा तेज है। यह तब साबित हो जाएगा जब हम यूजर-डिफ़ाइंड कस्टम फ़ंक्शंस के बारे में जानेंगे।
<?php
$my_score = 75;
if
( $my_score >= 90 ) {
echo 'A';
if ( $my_score >= 95 ) echo '+';
} elseif
( $my_score >= 80 ) {
echo 'B';
if ( $my_score >= 85 ) echo '+';
} elseif
( $my_score >= 70 ) {
echo 'C';
if ( $my_score >= 75 ) echo '+';
} elseif
( $my_score >= 60 ) {
echo 'D';
if ( $my_score >= 65 ) echo '+';
} elseif
( $my_score >= 50 ) {
echo 'E';
if ( $my_score >= 55 ) echo '+';
} else
{
echo 'F';
}?>
switch(){}
ढीली तुलना (loose comparison) की जाँच करता है।
आइए, निम्नलिखित उदाहरणों में कुछ सरल switch(){}
ब्लॉक देखें।
<?php
$my_grade = 1;
switch
( $my_grade ) {
case 0:
echo 'ZERO';
case 1:
echo 'ONE';
case 2:
echo 'TWO';
case 3:
echo 'THREE';
case 4:
echo 'FOUR';
case 5:
echo 'FIVE';
default:
echo 'other';
}?>
जैसा कि आप उपरोक्त उदाहरण में देख सकते हैं, एक स्विच ब्लॉक में कम से कम switch
, case
और default
(आरक्षित कीवर्ड) होते हैं। अंतिम default वैकल्पिक है, और आप इसे छोड़ सकते हैं। हालाँकि, ऊपर दिए गए उदाहरण में, मिलान (compared) किए गए case (मामले) के नीचे सभी कथन निष्पादित किया जाएगा (जब उस तुलना का आउटपुट true
है)। उपरोक्त उदाहरण का आउटपुट इस प्रकार है:
ऊपर दिए गए उदाहरण का वर्णन यहां आपको यह समझाने के लिए किया गया है कि आपको हर case
विकल्प के बाद break
(आरक्षित कीवर्ड) की भी आवश्यकता है। break (ब्रेक) कीवर्ड वर्तमान ब्लॉक को समाप्त (terminate) करता है और break के उपर सभी कथनों और अभिव्यक्तियों का आउटपुट देता है। उपरोक्त उदाहरण में प्रत्येक case (केस) ब्लॉक में break
कीवर्ड जोड़ें −
<?php
$my_grade = 1;
switch
( $my_grade ) {
case 0: echo 'ZERO'; break
;
case 1: echo 'ONE'; break
;
case 2: echo 'TWO'; break
;
case 3: echo 'THREE'; break
;
case 4: echo 'FOUR'; break
;
case 5: echo 'FIVE'; break
;
default: echo 'other';
}?>
उपरोक्त उदाहरण केवल ONE आउटपुट करता है, और break
कीवर्ड {}
कर्ली ब्रेसिज़ (यानी, स्विच ब्लॉक) से तुरंत बाहर निकल जाता है। उपरोक्त स्विच ब्लॉक निम्नलिखित if-elseif-else ब्लॉक के समान है। जबकि switch() कोष्ठक के अंदर सशर्त अभिव्यक्ति का मूल्यांकन केवल एक बार किया जाता है, if() elseif() elseif() ब्लॉक के प्रत्येक कोष्ठक के अंदर सशर्त अभिव्यक्ति को जितनी बार पारित (passed) किया जाता है, उतनी बार मूल्यांकन किया जाएगा।
<?php
$my_grade = 1;
if
( $my_grade == 0 ) { echo 'ZERO'; }
elseif
( $my_grade == 1 ) { echo 'ONE'; }
elseif
( $my_grade == 2 ) { echo 'TWO'; }
elseif
( $my_grade == 3 ) { echo 'THREE'; }
elseif
( $my_grade == 4 ) { echo 'FOUR'; }
elseif
( $my_grade == 5 ) { echo 'FIVE'; }
else
{ echo 'other'; }?>
हालांकि documentation (दस्तावेज) में यह उल्लेख किया गया है कि कुछ अन्य प्रोग्रामिंग भाषाओं के विपरीत, continue
कथन switch पर लागू होता है और break के समान कार्य करता है, हालांकि, आपको वर्तमान (current) switch ब्लॉक को छोड़ने (skip) के लिए continue (आरक्षित कीवर्ड) का उपयोग नहीं करना चाहिए।
PHP में switch स्टेटमेंट को continue
के प्रयोजनों के लिए एक लूपिंग संरचना माना जाता है। continue break
की तरह व्यवहार करता है (जब कोई तर्क पारित नहीं किया जाता है) लेकिन एक warning (चेतावनी) देगा कि एक गलती होने की संभावना है। यदि switch
एक लूप के अंदर है, तो continue 2
बाहरी लूप के अगले पुनरावृत्ति के साथ जारी रहेगा।
<?php
$my_grade = 2;
switch
( $my_grade ) {
case 0: echo 'ZERO'; continue
;
case 1: echo 'ONE'; continue
;
case 2: echo 'TWO'; continue
;
case 3: echo 'THREE'; continue
;
case 4: echo 'FOUR'; continue
;
case 5: echo 'FIVE'; continue
;
default: echo 'other';
}?>
उपरोक्त उदाहरण चेतावनी के बाद अंत में TWO आउटपुट करेगा जब $my_grade = 2 है। पैरेंट {}
कर्ली ब्रेसिज़ (ब्लॉक) को break और continue के लिए break 2
और continue 2
उपयोग किया जाता है। इन्हें अगले पृष्ठ में समझाया जाएगा।
Warning: "continue" targeting switch is equivalent to "break" in C:\xampp\
Warning: "continue" targeting switch is equivalent to "break" in C:\xampp\
Warning: "continue" targeting switch is equivalent to "break" in C:\xampp\
Warning: "continue" targeting switch is equivalent to "break" in C:\xampp\
Warning: "continue" targeting switch is equivalent to "break" in C:\xampp\
Warning: "continue" targeting switch is equivalent to "break" in C:\xampp\
TWO
switch break continue
आदि के बारे में आप अगले पेज में और अधिक जानेंगे।
Leave a Comment:
Amit Sinha March 2nd, 2023 at 9:30 PM
😃 😄 😁 😆 😅 😂 😉 😊 😇 😍 😘 😚 😋 😜 😝 😶 😏 😒 😌 😔 😪 😷 😵 😎 😲 😳 😨 😰 😥 😢 😭 😱 😖 😣 😞 😓 😩 😫 😤
Ribhu March 3rd, 2023 at 9:30 PM
🐵 🐒 🐶 🐩 🐺 🐱 🐯 🐅 🐆 🐴 🐎 🐮 🐂 🐃 🐄 🐷 🐖 🐗 🐽 🐏 🐑 🐐 🐪 🐫 🐘 🐭 🐁 🐀 🐹 🐰 🐇