पिछले tutorial में हमने for loop के बारे में बात की थी और examples किये थे साथ ही साथ हमने वहां पर loops के प्रकार बारे में डिसकस किया था ।
इस PHP tutorial में while loop के बारे में सीखेंगे ।
पिछले tutorial में हमने for loop में initial value ,condition और increment operator use किये थे । while loop में भी loop specified नंबर तक चलता हैं ।
साधारण Hindi भाषा,while loop में कंडीशन पहले आती हैं और कोड ऑफ़ ब्लॉक बाद में डिफाइन होता हैं। compiler सबसे पहले कंडीशन(condition) चेक करता हैं फिर कोड execute(रन करना ) करता हैं (code of block) । कोड ऑफ़ ब्लॉक तब तक execute होता हैं जब तक कंडीशन true रहती हैं कंडीशन के false हो जाने पर कम्पाइलर लूप से बाहर निकल जाता हैं ।
उदहारण के लिए जैसे आपको एक टेबल प्रिंट(print) करनी हैं 1 से 30 तक तो क्या आप बार बार 1,2,4,5........30 तक कोड के द्वारा लिखते जायेंगे ये तो 1 से 30 तक हैं यदि 1 से 100 हो जाता हैं फिर कैसे टेबल प्रिंट करेनेग उसके लिए हम while loop का यूज करेंगे । for loop और while loop में बस structure का ही अंतर होता हैं ।
1 से 30 तक टेबल प्रिंट करने के लिए हम कंडीशन बनते हैं और PHP while loop का यूज करते हैं इस से हमे बार बार continue कोड को करने में जटिलता(complexity,कठिनाई ) नहीं होती और compiler while loop कंडीशन के अनुसार काम करता हैं ।
PHP While loop expression(एक्सप्रेशन को हम कंडीशन भी कह सकते हैं ) पर निर्भर करता है यदि एक्सप्रेशन (कंडीशन) true है, compiler कोड के ब्लॉक(code of block) को execute(Run करना ) करेगा। एक लूप तक कोड execute करने के बाद फिर से कम्पाइलर कंडीशन चेक करता हैं यदि फिर से कंडीशन true मिलती हैं तो कोड को execute करता उसके बाद फिर से कंडशन चेक करता हैं ये लूप तब तक चलता रहता हैं जब तक while कंडीशन true हो ।कंडीशन false हो जाने पर कम्पाइलर लूप से बहार(exit) निकल जाता हैं ।
अलग शब्दों में कहे तो , यदि कंडीशन सही है, तो compiler ब्लॉक कोड(block of code) को execute करें और कोड execute होने के बाद, फिर से कंडीशन check करे कि कंडीशन true है या नहीं, यदि कंडीशन true है, तो लूप जारी रहेगा और कंडीशन false है, तो कम्पाइलर loop (out of loop,out of block) से बाहर निकल जायेगा ।
While loop का ये ही concept होता हैं । चलिए syntax से समझते हैं ।
while (condition)
{
code to be executed;
}
ऊपर दिए हुए सिंटेक्स में हम कोष्ठक(parenthesis) के अंदर while के साथ एक expression बनाते हैं । एक्सप्रेशन को कंडीशन भी कहा जाता है। ये कंडीशन कम्पाइलर के लिए होती हैं की कितने नंबर तक कम्पाइलर को कोड execute करना हैं । कम्पाइलर सबसे पहले इस एक्सप्रेशन(कंडीशन) को ही चेक करता हैं यदि कंडीशन true मिलती हैं तो ही कोड execute करता हैं जब तक की कंडीशन false न हो जाये । चलिए उदाहरण से समझते हैं ।उदाहरण से आपको PHP while loop अच्छे से समझ आजायेगा ।
While loop के उदाहरण
निचे दिए गए उदाहरण, while loop की मदत(help) से हम 1 से 15 तक टेबल प्रिंट करते हैं ।
<?php
$i=1;
//first check the condition
while($i<=15)
{
//after check the condition code will execute .
echo $i."
";
$i++;
}
?>
Run
ऊपर दिए गए उदाहरण में, हमने एक variable $i बनाया है और उसकी वैल्यू 1 डिफाइन की हैं जो की initial वैल्यू के रूप में हैं। वेरिएबल बनाने के बाद, हम लूप के अंदर एक कंडीशन बनाते हैं,की वेरिएबल की वैल्यू 15 से कम और 15 के बराबर होनी चाइये । लूप जारी रहता है, जब कंडीशन true होती है जब कंडीशन false होती है तो लूप जारी नहीं रहता है और कंपाइलर loop से बाहर(exit from loop) निकल जाता है।
बाद में हमने वेरिएबल वैल्यू increment(बढ़ोतरी) भी की हैं जिस से हमारी initial वैल्यू में प्रत्येक लूप में १ का इंक्रीमेंट(increment) होता हैं । जैसे पहले लूप में १ दूसरे लूप में २ तीसरे लूप में ३ इसी तरह से १५ लूप तक लूप 16 को execute नहीं कर सकता क्युकी कंडीशन में 15 से कम या बराबर हैं लूप 16 में जायेगा ही नहीं और लूप से एग्जिट(exit) हो जायेगा ।तो इस तरह से हम while loop का use करके specified नंबर तक कोड को execute करा सकते हैं ।
चलिए PHP while loop को एक और example से समझते हैं ।
जैसे की आपने फॉर्म भरते टाइम date of birth का selection किया होगा वहां पर आपको year 1989 से करेंट (present year) तक कुछ इस प्रकार लिस्ट ओपन(open) हो जाती हैं तो उस लिस्ट को बनाने के लिए भी हम while loop का यूज कर सकते हैं जिसमे हमे एक कंडीशन ही बनानी पड़ती हैं ।
<?php
$i=2020;
while($i>1989)
{
$i--;
echo $i."
";
}
?>
2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 1998 1997 1996 1995 1994 1993 1992 1991 1990 1989
ऊपर के उदाहरण में , हमने जन्म का वर्ष(year of birth) लिस्ट में डिस्प्ले किये है। PHP While Loop की सहायता से, आप जन्म के वर्ष को प्रारंभिक वर्ष(initial year) से वर्ष के अंत तक(current year) प्रदर्शित कर सकते हैं। इस उदाहरण में, हमने decrement operator (--) का उपयोग किया है।ऊपर के example में हमने increment ओपेरटर(++) का उपयोग किया था । Increment ओपेरटर में वैल्यू में बढ़ोतरी होती हैं decrement ऑपरेटर (--) का use करके वैल्यू घटती हैं ।
इस example में हमने year of birth को 2019 से 1989 तक प्रिंट करायी हैं। उसके लिए हम एक कंडीशन बनाते हैं की वेरिएबल की वैल्यू 1989 से ज्यादा होनी चाइए और वैल्यू one by one decrement भी हो । यहाँ पर प्रारंभिक value (initial value) 2020 ली गयी हैं ।
इस example में while कंडीशन के बाद decrement ऑपरेटर(--) का use हुआ हैं
सबसे पहले कम्पाइलर कंडीशन चेक करेगा फिर वैल्यू को decrement(1 का decrement) करेगा 2020 decrement होकर 2019 रह जाएगी उसके बाद 2019 डिस्प्लै हो जायगी ।
इसी तरह से एक के बाद एक लूप में वैल्यू decrement(घटती) होती रहती हैं ।
इस तरह से 1989 तक year of birth लिस्ट प्रिंट हो जाती हैं ।
While लूप का ये ही concept होता हैं ।