Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP goto स्टेटमेंट (goto Statement) - उपयोग और प्रतिबंध


परिचय

goto स्टेटमेंट का उपयोग प्रोग्राम के फ्लो को कोड में एक निश्चित स्थान पर भेजने के लिए किया जाता है। स्थान एक उपयोगकर्ता-परिभाषित लेबल द्वारा निर्दिष्ट किया जाता है। आमतौर पर, goto स्टेटमेंट स्क्रिप्ट में सशर्त अभिव्यक्ति के हिस्से के रूप में आता है जैसे if, else या case (स्विच कंस्ट्रक्ट में)।

सिंटैक्स

statement1; 
statement2; 
if (expression) 
    goto label1; 
statement3; 
label1: 
statement4;

स्टेटमेंट 2 के बाद, यदि अभिव्यक्ति (if स्टेटमेंट के हिस्से के रूप में) सत्य है, तो प्रोग्राम फ्लो label1 पर निर्देशित होता है। यदि यह सत्य नहीं है, तो स्टेटमेंट 3 निष्पादित होगा। प्रोग्राम बाद में सामान्य फ्लो में जारी रहता है।

उदाहरण

उदाहरण 1: सम संख्या के लिए लेबल पर कूदना

निम्न उदाहरण में, यदि उपयोगकर्ता द्वारा इनपुट की गई संख्या सम है, तो प्रोग्राम निर्दिष्ट लेबल पर कूदता है:

<?php 
$x = (int)readline("enter a number"); 
if ($x % 2 == 0) 
    goto abc; 
echo "x is an odd number"; 
return; 
abc: 
echo "x is an even number"; 
?>

आउटपुट

x is an even number

उदाहरण 2: goto के साथ लूप निर्माण

goto कीवर्ड के सामने लेबल वर्तमान स्टेटमेंट से पहले या बाद में प्रकट हो सकता है। यदि goto स्टेटमेंट में लेबल पहले के स्टेटमेंट की पहचान करता है, तो यह एक लूप बनाता है।

निम्न उदाहरण goto स्टेटमेंट के साथ निर्मित एक लूप दिखाता है:

<?php 
$x = 0; 
start: 
$x++; 
echo "x=$x\n"; 
if ($x < 5) 
    goto start; 
?>

आउटपुट

x=1 
x=2 
x=3 
x=4 
x=5

उदाहरण 3: लूप के अंदर कूदने पर प्रतिबंध

goto का उपयोग करके, प्रोग्राम कंट्रोल किसी भी नामित स्थान पर कूद सकता है। हालांकि, लूप के मध्य में कूदना अनुमति नहीं है।

<?php 
for ($x = 1; $x <= 5; $x++) { 
    if ($x == 3) 
        goto inloop; 
    for ($y = 1; $y <= 5; $y++) { 
        inloop: 
        echo "x=$x y=$y\n"; 
    } 
} 
?>

आउटपुट

PHP Fatal error: 'goto' into loop or switch statement is disallowed in line 5
  1. - PHP declare स्टेटमेंट: ticks, strict_types और encoding

    परिचय PHP में declare स्टेटमेंट का सिंटैक्स while, for, foreach आदि जैसे अन्य फ्लो कंट्रोल संरचनाओं के समान है। सिंटैक्स declare (directive) { statement1; statement2; ... } ब्लॉक का व्यवहार डायरेक्टिव के प्रकार द्वारा परिभाषित होता है। declare स्टेटमेंट में तीन प्रकार के डायरेक्टिव्स

  1. - PHP break स्टेटमेंट: लूप और स्विच से बाहर निकलना

    परिचय break स्टेटमेंट PHP में लूपिंग कंट्रोल कीवर्ड्स में से एक है। जब प्रोग्राम फ्लो while, do-while, for, foreach लूप या switch कंस्ट्रक्ट के अंदर break से मिलता है, तो लूप/स्विच के शेष स्टेटमेंट्स छोड़ दिए जाते हैं और उसी के बाद के स्टेटमेंट्स निष्पादित होते हैं। सिंटैक्स while (expr) { ...

  1. - PHP If Statement में HTML Embed करना

    PHP में conditional logic के आधार पर HTML output को control करने के कई साफ़ तरीके हैं। विधि 1: Alternative Syntax (टेम्पलेट्स के लिए सर्वश्रेष्ठ) name) ?>!</h2> <a href=/dashboard>डैशबोर्ड</a> </div> <?php else: ?> <div class=login-prompt>