Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में Outer Loop Break करना


Nested loops में outer loop को break करने के लिए PHP में numeric argument के साथ break उपयोग करें।

मूल सिंटैक्स

foreach ($outer as $o) {
    foreach ($inner as $i) {
        if ($condition) {
            break 2; // 2 levels बाहर निकलें
        }
    }
}

व्यावहारिक उदाहरण

<?php
$matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

$target = 5;
$found = false;

foreach ($matrix as $rowIndex => $row) {
    foreach ($row as $colIndex => $value) {
        if ($value === $target) {
            echo "$target मिला: row $rowIndex, col $colIndex\n";
            $found = true;
            break 2; // दोनों loops से बाहर निकलें
        }
    }
}

if (!$found) {
    echo "$target नहीं मिला\n";
}

वैकल्पिक: goto Statement (PHP 5.3+)

<?php
foreach ($outer as $o) {
    foreach ($inner as $i) {
        if ($condition) {
            goto end_loops; // Label पर जाएं
        }
    }
}

end_loops:
echo "Loops समाप्त हुए\n";

तुलना: break N vs goto

पहलूbreak Ngoto
पठनीयतास्पष्ट intentस्पेगेटी कोड का कारण बन सकता है
लचीलापनकेवल loops के लिएकहीं भी जा सकते हैं
रखरखावआसानकठिन
नेस्टिंग स्तरगिनना पड़ता हैलेबल नाम

बेहतर विकल्प: Function में Extract करें

<?php
function findInMatrix(array $matrix, $target): ?array {
    foreach ($matrix as $rowIndex => $row) {
        foreach ($row as $colIndex => $value) {
            if ($value === $target) {
                return ['row' => $rowIndex, 'col' => $colIndex];
            }
        }
    }
    return null;
}

// उपयोग - clean और testable
$result = findInMatrix($matrix, 5);
if ($result) {
    echo "मिला: row {$result['row']}, col {$result['col']}";
} else {
    echo "नहीं मिला";
}

अन्य Control Structures के साथ

// while loops
$i = 0;
while ($i < 10) {
    $j = 0;
    while ($j < 10) {
        if ($condition) break 2;
        $j++;
    }
    $i++;
}

// for loops
for ($i = 0; $i < 10; $i++) {
    for ($j = 0; $j < 10; $j++) {
        if ($condition) break 2;
    }
}

// Mixed loops
foreach ($array as $item) {
    for ($i = 0; $i < 10; $i++) {
        if ($condition) break 2; // foreach और for दोनों से बाहर
    }
}

नोट

break बिना argument के केवल innermost loop से बाहर निकलता है। break 0 या break 1 समान हैं। continue के साथ भी समान syntax काम करता है (continue 2)।

  1. Tkinter में स्टॉप बटन से लूप कैसे रोकें? Tkinter में स्टॉप बटन से लूप कैसे रोकें?

    एक प्रक्रिया को लूप में चलाने और बटन क्लिक होने पर लूप को रोकने के मामले पर विचार करें। आमतौर पर, प्रोग्रामिंग भाषाओं में, निरंतर while लूप को रोकने के लिए, हम break स्टेटमेंट का उपयोग करते हैं। हालांकि, Tkinter में, while लूप के स्थान पर, हम परिभाषित फंक्शन को लूप में चलाने के लिए after() का उपयोग

  1. - Python में for लूप को कैसे तोड़ें (break)?

    Python में for लूप में break स्टेटमेंट सामान्यतः for लूप को रेंज में प्रत्येक आइटम के लिए एक ब्लॉक पर पुनरावृति करने के लिए बनाया जाता है। यदि सभी पुनरावृत्तियों के पूरा होने से पहले लूप की समय से पहले समाप्ति वांछित है, तो break कीवर्ड का उपयोग किया जाता है। यह हमेशा लूप के शरीर के अंदर एक कंडीशनल

  1. - पायथन में मल्टीपल डिलीमीटर्स के साथ स्ट्रिंग को कैसे तोड़ें?

    हम re.split(delimiter, str) मेथड का उपयोग करके मल्टीपल डिलीमीटर्स के साथ स्ट्रिंग को तोड़ सकते हैं। यह डिलीमीटर्स का एक रेगेक्स और वह स्ट्रिंग लेता है जिसे हमें विभाजित करने की आवश्यकता है। उदाहरण के लिए: a=Beautiful, is; better*than\nugly import re print(re.split(; |, |\*|\n, a)) हमें आउटपुट मिलता