2011-03-02 33 views
47

क्या कोई उदाहरण के साथ, उदाहरण के साथ, PHP में break 2 या continue 2 द्वारा क्या मतलब बता सकता है? इसका क्या अर्थ है जब break या continue के बाद कोई संख्या है?PHP में "ब्रेक" या "जारी रखें" के बाद किसी संख्या का क्या अर्थ है?

उत्तर

76
$array = array(1,2,3); 
foreach ($array as $item){ 
    if ($item == 2) { 
    break; 
    } 
    echo $item; 
} 

आउटपुट "1" क्योंकि पाश टूट गया था हमेशा के लिए, इससे पहले कि गूंज "2" मुद्रित करने में सक्षम था।

$array = array(1,2,3); 
foreach ($array as $item){ 
    if ($item == 2) { 
    continue; 
    } 
    echo $item; 
} 

आउटपुट 13 क्योंकि दूसरी यात्रा पारित कर दिया

$numbers = array(1,2,3); 
$letters = array("A","B","C"); 
foreach ($numbers as $num){ 
    foreach ($letters as $char){ 
    if ($char == "C") { 
     break 2; // if this was break, o/p will be AB1AB2AB3 
    } 
    echo $char; 
    } 
    echo $num; 
} 

आउटपुट break 2 की वजह से AB, जिसका अर्थ है, जो दोनों कथनों काफी जल्दी टूट गया था था। अगर यह सिर्फ break था, तो आउटपुट AB1AB2AB3 होगा।

$numbers = array(1,2,3); 
$letters = array("A","B","C"); 
foreach ($numbers as $num){ 
    foreach ($letters as $char){ 
    if ($char == "C") { 
     continue 2; 
    } 
    echo $char; 
    } 
    echo $num; 
} 

इच्छा उत्पादन ABABAB, क्योंकि continue 2 की: बाहरी पाश हर बार पारित हो जाएगा।

दूसरे शब्दों में, continue वर्तमान पुनरावृत्ति निष्पादन को रोकता है लेकिन दूसरे को चलाने की अनुमति देता है, जबकि break पूरे कथन को पूरी तरह बंद कर देता है।
तो हम कर सकते हैं कि continue केवल लूप के लिए लागू है, जबकि break अन्य विवरणों में उपयोग किया जा सकता है, जैसे switch

एक संख्या नेस्टेड बयान प्रभावित संख्याओं का प्रतिनिधित्व करती है।
यदि 2 नेस्टेड लूप हैं, तो आंतरिक में एक break आंतरिक एक तोड़ देगा (हालांकि यह बहुत कम समझ में आता है क्योंकि आंतरिक लूप को बाहरी लूप के अगले पुनरावृत्ति में फिर से लॉन्च किया जाएगा)। आंतरिक लूप में break 2 दोनों टूट जाएंगे।

32

संख्या सिर्फ कहते हैं

<?php 
for($i = 0; $i < 10; ++$i) { 
    for($j = 0; $j < 10; ++$j) { 
     break 2; 
    } 
} 

$ i और $ जे "कितने कार्यक्षेत्रों से बाहर कूद करने के लिए" हो जाएगा 0

के शब्दों में the manual:

जारी रखने के लिए एक वैकल्पिक संख्यात्मक तर्क स्वीकार करता है जो बताता है कि लूप को घेरने के कितने स्तर इसे अंत तक छोड़ना चाहिए।

ब्रेक के लिए भी जाता है।

3

तोड़: तोड़ सबसे भीतरी लूप (पाश से बाहर निकलने के)

तोड़ 2: (2 नेस्टेड छोरों से बाहर निकलने के) को तोड़ने 2 नेस्टिंग स्तर छोरों

जारी रखने के लिए: से अगले चरण के लिए बल पाश जहां यह पाश कोड के बाकी को क्रियान्वित करने के बिना प्रयोग किया जाता है

2 जारी रखने के लिए: जहां यह प्रयोग किया जाता है से अगले 2 यात्रा के लिए बल पाश पाश कोड के बाकी को क्रियान्वित करने

बाहर निकलने के पाश के बिना जब हम $array मूल्य मुठभेड़ 5

break 
    $array(4,5,8); 
    for ($i=0 ;$i < 10 $i ++) 
    { 
     if ($array[$i]==5) 
     { 
      break; 
     } 
    } 

ब्रेक (एन)

बाहर निकलें दोनों छोरों जब हम $ सरणी में मूल्य 5 मुठभेड़ हो,

for ($i=0 ;$i < 10 $i ++) 
    { 
    for($j=0; $j <10; $j++) 
    { 
      if ($array[$i][$j]==5) 
      { 
       break 2; 
      } 
    } 
} 

जारी रखने के संदेश मुद्रित होगा जब मूल्य 5 है;

for($i=0; $i<10; $i++) 
{ 
    if ($array[$i] != 5) 
    { 
    continue;// will reach at the first line from here which is for($i=0;..... 
    } 
    echo 'This is five'; 
} 

}

9

ब्रेक एक वैकल्पिक संख्यात्मक तर्क स्वीकार करता है जो बताता है कि कितने नेस्टेड संलग्न संरचनाओं को तोड़ना है।

<?php 
$arr = array('one', 'two', 'three', 'four', 'stop', 'five'); 
while (list(, $val) = each($arr)) { 
    if ($val == 'stop') { 
     break; /* You could also write 'break 1;' here. */ 
    } 
    echo "$val<br />\n"; 
} 

/* Using the optional argument. */ 

$i = 0; 
while (++$i) { 
    switch ($i) { 
    case 5: 
     echo "At 5<br />\n"; 
     break 1; /* Exit only the switch. */ 
    case 10: 
     echo "At 10; quitting<br />\n"; 
     break 2; /* Exit the switch and the while. */ 
    default: 
     break; 
    } 
} 
?> 

More examples of break

एक वैकल्पिक संख्यात्मक तर्क है जो यह बताती है कि कितने enclosing छोरों के स्तर को इसका अंत करने के लिए छोड़ देना चाहिए स्वीकार करता है जारी है। डिफ़ॉल्ट मान 1 है, इस प्रकार वर्तमान पाश के अंत तक छोड़ रहा है।

<?php 
while (list($key, $value) = each($arr)) { 
    if (!($key % 2)) { // skip odd members 
     continue; 
    } 
    do_something_odd($value); 
} 

$i = 0; 
while ($i++ < 5) { 
    echo "Outer<br />\n"; 
    while (1) { 
     echo "Middle<br />\n"; 
     while (1) { 
      echo "Inner<br />\n"; 
      continue 3; 
     } 
     echo "This never gets output.<br />\n"; 
    } 
    echo "Neither does this.<br />\n"; 
} 
?> 

More examples of continue