PHP Control Structures
|Control Structure को समझने के लिए हम इसे 4 भागो में Divide कर रहे हैं
- Conditional
- if
- else
- elseif/else if
- switch
- Loop
- while
- do-while
- for
- foreach
- Jump
- break
- continue
- return
- goto
- File
- require
- include
- require_once
- include_once
if
जब भी हम कोई Condition लगाना चाहते हैं तब हम IF का उपयोग करते हैं जिसे हम इस प्रकार से समझ सकते हैं
जब if के बाद () में लिखी condition True होगी तो यह Curley Bracket {} में लिखे Statement को Execute कर देगा ।
<?php
//Single Line Condition
if ($x > $y)
echo "x is bigger than y";
//Multi Line Condition
if ($x > $y)
{
echo "Hello";
echo "x is bigger than y";
}
?>
else
जब if condition true न हो तो हम else लगा कर false condition पर भी Statement Execute कर सकते हैं ।
<?php
//Single Line Condition
if ($x > $y)
echo "x is bigger than y";
else
echo "y is bigger than x";
//Multi Line Condition
if ($x > $y)
{
echo "Hello";
echo "x is bigger than y";
}
else
{
echo "Hello";
echo "y is bigger than x";
}
?>
elseif/else if
जब हमें यदि नहीं (else) के यहाँ भी कोई Condition लगाना हो तो हम elseif का उपयोग करते हैं .
<?php
if ($x > $y)
{
echo "x is bigger than y";
}
elseif ($x == $y)
{
echo "x is equal to y";
}
else
{
echo "y is bigger than x";
}
?>
switch
जब हमें एक ही वेरिएबल पर एक से अधिक condition लगाना हो तो हम if के स्थान पर switch का उपयोग कर सकते हैं ।
Switch में break लगाना आवश्यक होता हैं, यदि break लगाएंगे तो वह Switch Statement से बाहर आ जायेंगे ।
<?php
$myclass = 5
switch ($myclass) {
case 1:
case 2:
case 3:
case 4:
case 5:
echo "Primary School";
break;
case 6:
case 7:
case 8:
echo "Middle School";
break;
case 9:
case 10:
echo "High School";
break;
case else:
echo "Higher Secondary School";
}
?>
while
यह एक लूप हैं loop से मतलब की Cursor बार बार statement को Execute करता हैं , while के बाद Brackate में condition दी जाती हैं यदि Condition true हुई तो Program Cursor Curley Brackate में जायेगा और यदि Condition False हुई तो while loop से बाहर हो जाएगा ।
यदि यहाँ पर आप $i को increment करना भूल गए तो यह infinite loop बन जायेगा और कंप्यूटर हैंग भी हो सकता हैं ।
<?php
$i = 1;
while ($i <= 5)
{
echo $i .'<br>';
$i++;
}
?>
do-while
do….while, while जैसा ही लूप हैं, इसकी यह विशेषता हैं की यह कम से कम एक बार तो Execute होता ही हैं , यह एक Exit Control loop हैं इसमें पहले Statement Execute होते हैं फिर Condition Check होती हैं यदि Condition True हुए तो Loop में जाता हैं Otherwise Exit हो जाता हैं ।
<?php
$i = 1;
do {
echo $i .'<br>';
$i++;
} while ($i < 1);
?>
Loop की condition satisfy नहीं हो रही तब भी यह Loop एक बार Execute होगा , क्युकी यह Exit Control Loop हैं ।
for
यह भी एक लूप हैं, इस लूप में हम Initial , Condition और increment आदि ( )में ही दे देते हैं , जब हमें पता होता है की लूप कितनी बार चलना हैं तब हम for loop का उपयोग करते हैं ।
इस Example से आपको समझ में आ जायेगा की किस तरह से For Loop का उपयोग करते हैं ।
<?php
for ($i = 1; $i <= 5; $i++) {
echo $i . '<BR>';
}
?>
foreach
जब हमें किसी Array पर कोई Loop Execute करना हो तब हम Foreach का उपयोग करते हैं, इसके लिए हमें Array की length Count करने की जरुरत नहीं होती यह कार्य लूप ही कर लेता हैं आइये समझते हैं ।
<?php
$MyArray = array(1, 2, 4, 8, 16);
foreach ($arr as $key => $value) {
echo "$key => $value <br>";
}
?>
break
जब हमें किसी Loop या Switch के Execution से बाहर आना हैं, यानि हम कभी बिच में से लूप में से बाहर आना चाहते हैं तो आप break का उपयोग कर सकते हैं । यह statement for
, foreach
, while
, do-while
पर कार्य करता हैं ।
<?php
$i=1;
while ($i < 10)
{
echo $i .'<br>';
$i++;
if ($i == 5)
{
break;
}
}
?>
उपरोक्त लूप के आउटपुट में 1,2,3,4 आएगा, जैसे ही 4 print होगा उसके बाद Increment होगा जिससे i की वैल्यू 5 हो जाएगी और लूप से break हो जाएगा ।
continue
जब Loop के current Execution की bypass करना हो तब हम Continue का उपयोग करते हैं जैसे हमें कोई loop Execute किया जिसे 1 से 10 तक चलना हैं अब हम चाहते हैं की 5 वाला Execution bypass हो जाये तब हम 5 पर continue का उपयोग करेंगे ।
<?php
$i=0;
while ($i < 10)
{
$i++;
if ($i == 5)
{
continue;
}
echo $i ;
}
?>
इस Loop के output में कुछ इस तरह से प्रिंट होगा 1234678910 जहा पर 5 वाले पर echo Execute नहीं हुआ उसका कारण continue हैं क्युकी उससे Current Execution Bypass हो गया ।
return
किसी भी script के current Scope से बाहर आने के लिए return का उपयोग किया जाता हैं , अधिकतर किसी भी फंक्शन के Execution को stop करने और Value return करने का उपयोग भी इसके द्वारा किया जाता हैं ।
<?php
function MyFunction()
{
echo '2'; //Print
return ;
echo '3'; //do not Print
}
echo '1'; //Print
MyFunction();
echo '4'; //Print
return ;
echo '5'; //do not Print
?>
उपरोक्त Example में 1 प्रिंट होगा उसके बाद Function Call होगा, Function में भी केवल 2 ही प्रिंट होगा और Return हो जाएगा और Program का Cursor Function के बाहर आकर 4 को प्रिंट करेगा और उसके बाद Execution Stop हो जाएगा ।
goto
Program के Execute Point को Transfer करने के लिए goto का उपयोग किया जाता हैं , जैसा की निम्न Example में समझाया गया हैं की goto के बाद a लिखा हैं यानि की program का Execution Point सीधा a: पर चला जाएगा और 2 प्रिंट करेगा ।
<?php
goto a;
echo '1';
a:
echo '2';
?>
require
require <FileName> require के बाद फाइल का नाम देना होता हैं , हम जो फाइल require से include करते है उसका कंटेंट इस फाइल में ऐड हो जाता हैं , आइये समझते हैं । यदि फाइल नहीं मिलती हैं तो यह compile Error दे कर Execution को रोक देता हैं ।
<?php
echo "2<br>";
?>
हमने एक फाइल बना ली जिसमे हमने 2 को प्रिंट किया ।
<?php
echo "1<br>";
require 'MyFile.php';
echo "3<br>";
?>
include
include <FileName> Include के बाद फाइल का नाम देना होता हैं , हम जो फाइल Include करते है उसका कंटेंट इस फाइल में ऐड हो जाता हैं , आइये समझते हैं । यदि फाइल नहीं मिलती हैं तो warning show होगी ।
<?php
echo "2<br>";
?>
हमने एक फाइल बना ली जिसमे हमने 2 को प्रिंट किया ।
<?php
echo "1<br>";
include 'MyFile.php';
echo "3<br>";
?>
देखिये यहाँ पर हमने एक फाइल बनाई MyFile.php और उसमे 2 Print किया हैं , और उस फाइल को Current File में Include किया हैं अब जब output प्रिंट होगा तो सबसे पहले 1 Print होगा उसके बाद MyFile se 2 प्रिंट होगा और फिर 3 प्रिंट होगा ।
require_once
इसका कार्य require जैसा ही हैं यदि हमने स्टेटमेंट एक से ज्यादा बार लिख दिया हो तो यह केवल एक ही बार फाइल को require करता हैं
include_once
इसका कार्य include जैसा ही हैं यदि हमने स्टेटमेंट एक से ज्यादा बार लिख दिया हो तो यह केवल एक ही बार फाइल को include करता हैं