2013-08-02 5 views
11

मैं एक स्थिति है जहाँ जब एक वस्तु मैं आम तौर पर इस तरह यह लूप करने के लिए एक foreach का उपयोग के साथ काम किया है:एक शर्त मिलने के बाद एक foreach से कैसे बाहर निकलना है?

foreach ($main_object as $key=>$small_object) { 
... 

} 

हालांकि, मैं इस तरह वहाँ में एक सशर्त रखना होगा:

foreach ($main_object as $key=>$small_object) { 
    if ($small_object->NAME == "whatever") { 
     // We found what we need, now see if he right time. 
     if ($small_object->TIME == $sought_time) { 
      // We have what we need, but how can we exit this foreach loop? 
     } 
} 

ऐसा करने का शानदार तरीका क्या है? ऐसा लगता है कि यह एक मैच मिला है, तो यह लूपिंग रखता है। या ऐसा करने के लिए एक और तरीका है जो बेहतर है? संभावित रूप से foreach के बजाय उपयोग कर रहे हैं?

+2

आपका मतलब है 'ब्रेक;'? http://php.net/manual/en/control-structures.break.php – Resitive

+0

हालांकि किसी फोरैच में ब्रेक का उपयोग किया जा सकता है? मैं इसे स्विच/केस में और समय के साथ देखता हूं, लेकिन एक foreach में काम तोड़ देता है? यदि हां, तो क्या इस तरह ब्रेक का उपयोग करने के लिए यह एक अच्छी प्रोग्रामिंग शैली है? – Edward

उत्तर

31

पीएचपी प्रलेखन से:

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

तो हाँ, आप इसे फ़ोरैच लूप से बाहर निकलने के लिए उपयोग कर सकते हैं।

+0

वाह, धन्यवाद! इस बार मैं केवल स्विच/केस के साथ इसका उपयोग कर रहा हूं। – Edward

7

अगर हालत अंदर break बयान का उपयोग करें:

if ($small_object->TIME == $sought_time) { 
    break;  
} 

break बयान लूप से बाहर टूट जाएगा।

संबंधित मुद्दे