यदि कुछ शर्तों को पूरा नहीं किया जाता है तो मैं लूप के अगले पुनरावृत्ति पर जाने की कोशिश कर रहा हूं। समस्या यह है कि लूप निरंतर जारी है।php foreach जारी रखें
मैं गलत कहां गया हूं?
पहली टिप्पणी के जवाब में अद्यतन कोड नमूना।
foreach ($this->routes as $route => $path) {
$continue = 0;
...
// Continue if route and segment count do not match.
if (count($route_segments) != $count) {
$continue = 12;
continue;
}
// Continue if no segment match is found.
for($i=0; $i < $count; $i++) {
if ($route_segments[$i] != $segments[$i] && ! preg_match('/^\x24[0-9]+$/', $route_segments[$i])) {
$continue = 34;
continue;
}
}
echo $continue; die(); // Prints out 34
आप '$ जारी रखें 'ओवरराइट कर रहे हैं। यह प्रवेश करना पूरी तरह से संभव है कि यह आपके लूप पुनरावृत्तियों में 1, फिर 2 पर सेट हो जाता है। –
'$ जारी रखें = 0;' 'foreach' के ठीक बाद '... मैं शर्त लगाऊंगा कि आपको अब' 1' नहीं मिलेगा। ए 2 के लिए, आपको इसे 2 स्तरों को जारी रखने के लिए बताना होगा, इसलिए 'जारी रखें 2;', अन्यथा यह केवल 'लूप' के अगले पुनरावृत्ति पर जाएगा ... – ircmaxell