पिछले PHP tutorials में, हमने for loop और while loop के बारे में सीखा था। इस PHP tutorial में,do-while loop के बारे में सीखेंगे । do while loop और while loop में बहुत कम अंतर होता हैं ।
इस से पहले PHP tutorial में जब हमने while loop सीखा था ।
While loop में कंपाइलर(compiler) पहले condition(expression) की check करता है और बाद में ब्लॉक कोड(block of code) को execute करता है, लेकिन do while loop में, पहला पहले एक बार execute होता है, फिर expression(condition) की जांच(check) की जाती है।
साधारण Hindi भाषा से समझे तो while loop में कंडीशन पहले आती हैं और कोड ऑफ़ ब्लॉक(code block) कंडीशन के बाद लेकिन do while loop में पहले कोड ऑफ़ ब्लॉक(code block) होता और कंडीशन बाद में आती हैं बस ये ही अंतर होता हैं while loop और do while loop में ।
यदि आपने for loop और while loop के बारे में सीखा हैं तो do while loop को समझने में आपको कोई भी समस्या नहीं आएगी ।
Do while loop में , कोड कम से कम एक बार execute होता है, जब तक कि कंडीशन true हो, तब तक कम्पाइलर लूप को दोहराएं। जब भी कंडीशन false हो जाएगी कम्पाइलर लूप से एग्जिट(exit) हो जायेगा ।
सरल शब्दों में समझे तो ,while loop में कंडीशन पहले आती हैं और कोड ऑफ़ ब्लॉक(code block) बाद में जबकि do while loop में पहले do आता हैं और बाद में कोड ऑफ़ ब्लॉक फिर लास्ट(कोड ऑफ़ ब्लॉक close होने के बाद ) में कंडीशन आती हैं ।
तो कम्पाइलर सबसे पहले statements (कोड ऑफ़ ब्लॉक) execute करता हैं फिर बाद में condition को चेक करता हैं ।
do
{
code to be executed;
}
while (condition);
ऊपर दिए गए syntax में, आप देख सकते हैं कि ब्लॉक कोड(code of block) को एक बार execute किया गया है फिर कंडीशन की जांच होती हैं । while loop में, condition कोड ऑफ़ ब्लॉक से पहले आती है, लेकिन do while loop में ,while condition ब्लॉक के अंत के बाद(close हो जाने के बाद )आती है।चलिए do while loop के उदाहरण से समझते हैं जिस से आपको आसानी से ये सभी steps समझ आजायेंगे ।
चलिए एक उदाहरण बनाते हैं। निम्नलिखित उदाहरण में, do while loop का use करके एक टेबल बनाते हैं ।इस example मैं हम 1 से 20 तक नंबर की एक टेबल को डिस्प्ले(प्रिंट) करेंगे ।
<?php
$i=1;
do
//First Print the statement
{
echo $i."
";
$i++;
}
//after statement check the condition
while($i<=20);
?>
Run
ऊपर दिए गए उदाहरण में, हमने एक variable बनाया। उस वेरिएबल को एक इनिशियल वैल्यू(initial value) 1 दी गयी हैं क्युकी हमे 1 से 20 तक टेबल प्रिंट करनी हैं यदि हमे 0 से 20 तक टेबल प्रिंट करनी होती तो इनिशियल वैल्यू (वेरिएबल वैल्यू) हम 0 लेते परन्तु यहाँ पर 1 से 20 तक टेबल प्रिंट करनी हैं तो हम 1 लेते हैं ।
do while loop में सबसे पहले do आता हैं जैसे की आपने ऊपर के example में देख सकते हैं उसके बाद हम echo() function की मदत से वेरिएबल वैल्यू को डिस्प्ले(display,print) कराते हैं । और उसके बाद वेरिएबल वैल्यू को इन्क्रीमेंट भी किया हैं। इन्क्रीमेंट ऑपरेटर(increment operator ++) को आपने C प्रोग्रामिंग में भी सीखा होगा । यह ऑपरेटर one by one वैल्यू को इन्क्रीमेंट करने के लिए यूज किया जाता हैं ।
उसके बाद ब्लॉक ऑफ़ कोड के क्लोज हो जाने पर हमने लास्ट में एक कंडीशन बनाई हैं की वेरिएबल i की वैल्यू 20 से कम और बराबर हो ।
पहले लूप में इनिशियल वैल्यू 1 प्रिंट हो जाती हैं फिर next loop में इन्क्रीमेंट होगा वैल्यू 2 प्रिंट हो जाएगी और तीसरे में 2 ऐसे ही जब तक कंडीशन true हैं लूप चलता रहता हैं जब भी कंडीशन false होती हैं मतलब compiler 21 तक नहीं जाएग क्युकी कंडीशन में 20 तक ही हैं तो कम्पाइलर लूप से एग्जिट(exit) हो जाता हैं ।
एडवांस प्रोग्रामिंग डेवेलपर्स नए नए कोड बनाते रहते हैं ।इस उदारण में आपको पता चलेगा की कैसे do whle loop में हम if else statments और break statement को use करते हैं जिस से आपके mind में do while loop अच्छे से सेट हो जायेगा और आप खुद से भी अलग अलग तरह के कोड बना कर try कर सकते हैं ।
यहां, आप if else statements और Break statements की मदद से कोड (code in do block) बना सकते हैं। किसी भी प्रोग्रामर के लिए एक अच्छा उदाहरण हैं। जब आप बड़े लेवल पर कोड करते हैं तब आपको loops,conditions,statments को एक साथ लेकर भी चलना पडता यहीं जिस से आप एक इफेक्टिव(effective) कोड बना सकते हैं । इस example में हम do while if else और breaks statements का यूज करेंगे ।
इस से आपको और अच्छे से loop और condition को कैसे एक साथ कोड में यूज कर सकते हैं पता चल जायेगा ।
<?php
$x=1;
do {
if ($x < 5) {
echo "X is not big enough";
break;
}
else {
echo "X is big enough";
break;
}
}
while (0);
?>
X is not big enough
ऊपर दिए गए उदाहरण में, हम एक वेरिएबल बनाते हैं और इस वेरिएबल को एक वैल्यू define करते हैं। वैरिएबल बनाने के बाद do block में if else स्टेटमेंट का यूज करते हैं । यहाँ पर एक कंडीशन बनाते हैं की यदि वेरिएबल ($x) की वैल्यू 5 से कम हैं तो "X is not big enough" डिस्प्ले हो उसके बाद ब्रेक(break) कर जाये यदि 5 से ज्यादा हैं तो else का कोड चले और "X is big enough" डिस्प्ले हो जाये उसके बाद ब्रेक हो जाये ।