PHP में विराम और जारी रखने के बीच अंतर?


जवाबों:


517

breakएक लूप को पूरी तरह से समाप्त कर देता है, continueबस वर्तमान पुनरावृत्ति को शॉर्टकट करता है और अगले पुनरावृत्ति पर ले जाता है।

while ($foo) {   <--------------------┐
    continue;    --- goes back here --┘
    break;       ----- jumps here ----┐
}                                     |
                 <--------------------┘

यह इस तरह इस्तेमाल किया जाएगा:

while ($droid = searchDroids()) {
    if ($droid != $theDroidYoureLookingFor) {
        continue; // ..the search with the next droid
    }

    $foundDroidYoureLookingFor = true;
    break; // ..off the search
}

56
इन कार्यों का दुरुपयोग इस में होता है: flickr.com/photos/24973901@N04/2762458387
neokio

7
इस उत्तर को प्यार करो! Yoda की शर्तों पर WP.org की अनुशंसा को याद दिलाएं: make.wordpress.org/core/handbook/coding-standards/php/…
बॉब ग्रेगर

4
यह इस जवाब के 7 साल बाद है, लेकिन यह कहने लायक है। में के रूप में php दस्तावेजों v4 से breakऔर continueमें ही कर रहे हैं switch। दोनों स्विच से बाहर निकलें। बाहरी पाश से बाहर निकलने के लिए अगर वहाँ है या तो का उपयोग करें continue 2
अमीन.कराबाकी

@ थैबग्रेगर वर्तमान में उस भाग को make.wordpress.org/core/handbook/best-practices/…
Douwe de Haan

@ डिसेज़, कोड वाला यह उदाहरण खराब है। आप वैरिएबल असाइन करते हैं जो कहीं भी उपयोग नहीं किया जाता है। सुझाए गए संपादन अधिक पठनीय थे।
ताजनगरी

49

ब्रेक उस लूप को बाहर निकालता है जिसमें आप हैं, लूप के अगले चक्र के साथ शुरू होता है।

उदाहरण:

$i = 10;
while (--$i)
{
    if ($i == 8)
    {
        continue;
    }
    if ($i == 5)
    {
        break;
    }
    echo $i . "\n";
}

उत्पादन होगा:

9
7
6

1
+1; मूल रूप से इन खोजशब्दों का उपयोग करने वाली हर दूसरी भाषा के समान है।
कार्ल केनचेल

+1; बस सरल स्पष्टीकरण और अच्छा उदाहरण, यहां तक ​​कि आटा भी while(--$i)newbies के लिए थोड़ा मुश्किल है।

@ मैं सहमत हूँ, कि यह मुश्किल है ... लेकिन मैं php के लिए लूप सिंटैक्स के बारे में निश्चित नहीं था और इसे देखने के लिए आलसी था
Hinek

यह एक बेहतरीन उदाहरण है!
डेमूरो 1

1
महान उदाहरण। (लाइन इको $ i। "\ n" को अंत में अर्धविराम की आवश्यकता है।)
user3563097

16

टूटना:

ब्रेक के लिए वर्तमान का निष्पादन समाप्त हो जाता है, फॉरचेट, जबकि, डू-जबकि या स्विच संरचना।

जारी रखें:

जारी रखने के लिए लूपिंग संरचनाओं के भीतर उपयोग किया जाता है, शेष वर्तमान लूप पुनरावृत्ति को छोड़ दें और स्थिति मूल्यांकन पर निष्पादन जारी रखें और फिर अगले प्रवाह की शुरुआत करें।

इसलिए अपनी आवश्यकता के आधार पर, आप वर्तमान स्थिति में अपने कोड में वर्तमान nesting के एक अलग स्तर पर निष्पादित किया जा सकता है।

इसके अलावा, एक कलात्मक विवरण के लिए यहां देखें विराम जारी रखें कई उदाहरणों के साथ जारी रखें


14

रिकार्ड के लिए:

ध्यान दें कि PHP में स्विच स्टेटमेंट को जारी रखने के प्रयोजनों के लिए एक लूपिंग संरचना माना जाता है ।


मुझे बस इस "सुविधा" से काट दिया गया था। स्विच केस में खोज की गई चीजों के आधार पर मैं थोड़ी देर का लूप कैसे जारी रख सकता हूं?
मैटबियनको

1
@MattBianco, आप continue 2उन मामलों में उपयोग करते हैं।
flaviovs

5

ब्रेक का उपयोग लूप स्टेटमेंट से बाहर निकलने के लिए किया जाता है, लेकिन विशिष्ट स्थिति पर स्क्रिप्ट को रोकना जारी रखें और फिर अंत तक पहुंचने तक लूपिंग स्टेटमेंट जारी रखें।

for($i=0; $i<10; $i++){
    if($i == 5){
        echo "It reach five<br>";
        continue;
    }
    echo $i . "<br>";
}

echo "<hr>";

for($i=0; $i<10; $i++){
    if($i == 5){
         echo "It reach end<br>";
         break;
    }
    echo $i . "<br>";
}

आशा है कि यह आपको मदद कर सकता है;


4

ब्रेक वर्तमान लूप / नियंत्रण संरचना को समाप्त कर देता है और इसके अंत तक छोड़ देता है, चाहे लूप कितनी बार दोहराया गया हो।

लूप के अगले पुनरावृत्ति की शुरुआत के लिए स्किप जारी रखें।


4

'जारी' का उपयोग लूपिंग संरचनाओं के भीतर किया जाता है ताकि वर्तमान लूप पुनरावृत्ति को छोड़ दें और स्थिति मूल्यांकन पर निष्पादन जारी रखें और फिर अगले पुनरावृत्ति की शुरुआत हो।

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

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

निम्नलिखित लिंक देखें:

http://www.php.net/manual/en/control-structures.break.php

http://www.php.net/manual/en/control-structures.continue.php

आशा करता हूँ की ये काम करेगा..


3

break वर्तमान लूप को रोक देगा (या यह बताने के लिए एक पूर्णांक पास करेगा कि कितने लूप से तोड़ना है)।

continue वर्तमान पुनरावृत्ति को रोक देगा और अगले को शुरू करेगा।


2

breakलूप से बाहर निकल जाएगा, जबकि लूप continueके अगले चक्र को तुरंत शुरू कर देगा।


2

मैं यहां कुछ भी नहीं लिख रहा हूं। PHP मैनुअल से सिर्फ एक चैंज नोट।


जारी रखने के लिए चैंज

Version Description

7.0.0 - continue outside of a loop or switch control structure is now detected at compile-time instead of run-time as before, and triggers an E_COMPILE_ERROR.

5.4.0   continue 0; is no longer valid. In previous versions it was interpreted the same as continue 1;.

5.4.0   Removed the ability to pass in variables (e.g., $num = 2; continue $num;) as the numerical argument.

ब्रेक के लिए चैंज

Version Description

7.0.0   break outside of a loop or switch control structure is now detected at compile-time instead of run-time as before, and triggers an E_COMPILE_ERROR.

5.4.0   break 0; is no longer valid. In previous versions it was interpreted the same as break 1;.

5.4.0   Removed the ability to pass in variables (e.g., $num = 2; break $num;) as the numerical argument.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.