एक अन्य नेस्टेड foreach पाश के साथ एक foreach पाश में अगले पाश पर जारी रखें - PHP, loops, foreach

मेरे पास 2 फोरच-लूप्स हैं। उनमें से एक दूसरे के अंदर घोंसला है, उदाहरण:

foreach(...){
foreach(...){
//if statement
}
}

आंतरिक लूप के भीतर मुझे एक कथन मिला औरयदि यह कथन सत्य लौटाता है तो मैं आंतरिक लूप को तोड़ना चाहता हूं और अगले आउटटर लूप के साथ जारी रखना चाहता हूं। क्या इसका एहसास करने का कोई तरीका है? "ब्रेक 2;" टी काम नहीं किया क्योंकि मुझे बाहरी लूप के साथ जारी रखने की आवश्यकता है।

उत्तर:

जवाब के लिए 2 № 1

के साथ की तरह break, आप एक संख्या जोड़ सकते हैं continue भी:

foreach(...) {
foreach(...) {
if (...)
continue 2;
}
// this will be skipped
}

दस्तावेज़ों से:

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


जवाब के लिए 0 № 2

प्रति PHP प्रलेखन, डिफ़ॉल्ट 1 है, जो केवल तुरंत encapsulating नियंत्रण संरचना से बाहर तोड़ता है

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

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

उदाहरण के लिए, नीचे कोड:

<?php
foreach(array(1,2,3,4,5) as $num){
foreach(array("a", "b") as $char){
if($char === "b") {
break;
}
echo $char;
}
echo $num;
}

// Result: a1a2a3a4a5

यह "बी" प्रिंट करने से पहले टूट जाता है, लेकिन लूप के साथ 5 तक जारी रहता है।


संबंधित सवाल
सबसे लोकप्रिय