← Back to PHP Course | Chapter 4: Control Flow | Lesson 9 of 14

PHP Loops

Loops के बिना, वही code 100 बार चलाने का मतलब होगा इसे 100 बार लिखना। एक loop आपको code के एक block को automatically दोहराने देता है, चाहे एक fixed संख्या में बार, किसी condition के false होने तक, या किसी collection के हर item के लिए एक बार -- एक थकाऊ, error-prone copy-paste काम को कुछ lines में बदलते हुए जो किसी भी amount of data तक scale करती हैं।
Syntax
php
while (condition) { }
do { } while (condition);
for ($i = 0; $i < $count; $i++) { }
foreach ($array as $item) { }

Loops क्यों Exist करते हैं

एक loop खुद वह code कई बार हाथ से लिखने के बजाय automatically code के एक block को दोहराता है -- "Hello" को 5 बार print करना, किसी database query से हर row process करना, या किसी submitted form का हर field validate करना सब naturally loop-shaped problems हैं।

उदाहरण: Why Loops Exist

php
<?php
// Classic for-loop: `$i = 1; $i <= 5; $i++`
for ($i = 1; $i <= 5; $i++) {
    // Print "Hello\n" to the output
    echo "Hello\n";
}
?>

एक नज़र में चार PHP Loop Types

while तब तक चलता है जब तक एक condition true रहती है, हर pass से पहले उस condition को check करते हुए। do-while वैसे ही काम करता है लेकिन हर pass के बाद check करता है, यह guarantee करते हुए कि body कम से कम एक बार चले। for एक known, countable संख्या में repetitions के लिए बना है। foreach purpose-built है किसी array के हर element में automatically चलने के लिए।

उदाहरण: The Four PHP Loop Types at a Glance

php
<?php
// Declare `$i`, set to `0`
$i = 0;
while ($i < 2) { echo "while\n"; $i++; }

// Declare `$j`, set to `0`
$j = 0;
do { echo "do-while\n"; $j++; } while ($j < 2);

for ($k = 0; $k < 2; $k++) { echo "for\n"; }

foreach (["a", "b"] as $v) { echo "foreach: $v\n"; }
?>

Loop Control: break और continue

किसी भी loop के अंदर, break तुरंत पूरे loop से बाहर निकल जाता है, बाकी सभी iterations skip करते हुए, जबकि continue सिर्फ current iteration के बाकी हिस्से को skip करता है और अगले पर चला जाता है -- दोनों आपको एक loop के basic exit condition से आगे इसके flow पर fine control देते हैं।

उदाहरण: Loop Control: break and continue

php
<?php
// Classic for-loop: `$i = 1; $i <= 5; $i++`
for ($i = 1; $i <= 5; $i++) {
    if ($i == 3) continue;
    if ($i == 5) break;
    // Print `$i . "\n"` to the output
    echo $i . "\n";
}
?>

Infinite Loops से बचना

एक infinite loop तब होता है जब किसी loop की condition कभी false नहीं होती -- सबसे अक्सर इसलिए क्योंकि code उस variable को update करना भूल जाता है जिस पर condition depend करती है, या इसे ऐसे update करता है कि exit condition कभी satisfy ही न हो।

उदाहरण: Avoiding Infinite Loops

php
<?php
$i = 0;
while ($i < 5) {
    echo $i . "\n";
    $i++; // without this line, the loop would never end
}
?>

काम के लिए सही Loop चुनना

while चुनें जब आपको पहले से नहीं पता कि आप कितनी बार दोहराएँगे लेकिन stopping condition पता हो; do-while चुनें जब body को चाहे कुछ भी हो कम से कम एक बार चलना ज़रूरी हो; for चुनें जब आपको exactly पता हो कि आपको कितने repetitions चाहिए, अक्सर एक counter के साथ; foreach चुनें जब भी आप किसी array के elements पर iterate कर रहे हों।

उदाहरण: Choosing the Right Loop for the Job

php
<?php
// Declare `$items` as an array: `["apple", "banana", "cherry"]`
$items = ["apple", "banana", "cherry"];
// Loop over `$items`, binding each item to `$item`
foreach ($items as $item) {
    // Print `$item . "\n"` to the output
    echo $item . "\n";
}
?>
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. एक loop condition लिखना जो कभी false नहीं होती, एक infinite loop बनाते हुए जो script को hang कर देता है या server resources खत्म कर देता है।
  2. काम के लिए गलत loop type चुनना -- जैसे किसी known array पर iterate करने के लिए एक while loop, जबकि उस exact case के लिए foreach purpose-built और कहीं कम error-prone है।
  3. loop body के अंदर loop के counter या condition variable को update करना भूल जाना, जो एक infinite while या for loop का सबसे common कारण है।
चैप्टर सारांश
  • PHP चार loop types देता है: while, do-while, for, और foreach -- हर एक अलग तरह के repetition के लिए suited।
  • while अपनी condition हर pass से पहले check करता है; do-while इसे बाद में check करता है, कम से कम एक run की guarantee देते हुए।
  • for एक known संख्या में repetitions गिनने के लिए बना है; foreach किसी array के हर item में चलने के लिए purpose-built है।

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.