Loops in PHP
Loops किसलिए
Loop एक code block को कई बार दोहराता है, ताकि आपको बार-बार न लिखना पड़े। 1 से 100 print करना हो, या किसी list के हर item पर जाना हो? Loop इसे कुछ lines में कर देता है। PHP में चार loops हैं: for, while, do-while और foreach।
for loop
for तब जब पता हो कितनी बार दोहराना है। इसके तीन हिस्से: start, condition, update।
<?php
for ($i = 1; $i <= 5; $i++) {
echo $i . " ";
}
?>
इसे पढ़िए: $i = 1 से शुरू, $i <= 5 तक चलते रहो, हर round 1 जोड़ो ($i++)। जब $i 6 हो जाता है condition false हो जाती है और loop रुक जाता है।
while और do-while
while पहले condition जाँचता है; do-while एक बार चलकर फिर जाँचता है।
<?php
$i = 1;
while ($i <= 3) {
echo $i . " ";
$i++;
}
// do-while हमेशा कम-से-कम एक बार चलता है:
$n = 10;
do {
echo "run ";
} while ($n < 5);
?>
भले ही $n < 5 false है, do-while ने "run" एक बार print किया क्योंकि यह condition body चलाने के बाद जाँचता है।
foreach (arrays के लिए)
array के हर item पर जाने का सबसे आसान तरीका foreach है — कोई counter नहीं चाहिए।
<?php
$fruits = ["Apple", "Mango", "Banana"];
foreach ($fruits as $fruit) {
echo $fruit . " ";
}
?>
key-value arrays के लिए दोनों ले सकते हैं: foreach ($ages as $name => $age) हर round name और age साथ देता है।
break और continue
break loop जल्दी छोड़ देता है; continue सिर्फ़ मौजूदा round skip करता है।
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i == 3) continue; // 3 skip
if ($i == 5) break; // 5 से पहले रुको
echo $i . " ";
}
?>
3 को continue skip करता है, और loop 5 पर break से रुक जाता है — तो सिर्फ़ 1, 2 और 4 print होते हैं।
आम गलतियाँ
- Counter update करना भूलना।
$i++छूटने से infinite loop बनता है। - Off-by-one गलती।
<=बनाम<से loop कितनी बार चलेगा बदल जाता है — boundary जाँचिए। - जहाँ foreach साफ़ हो वहाँ for इस्तेमाल करना। arrays के लिए foreach index गलतियाँ बचाता है।
- Loop के दौरान array बदलना। इससे items skip या दोहरे हो सकते हैं।
सारांश
- Loops code दोहराते हैं ताकि कम लिखें और ज़्यादा करें।
for— जब गिनती पता हो;while— condition बदलने तक दोहराना।do-whileहमेशा कम-से-कम एक बार चलता है;foreacharrays के लिए सबसे अच्छा।breakloop छोड़ता है;continueएक round skip करता है।- हमेशा पक्का कीजिए loop अपने अंत तक पहुँच सके, वरना हमेशा चलेगा।
आगे, जिन values पर loop करते हैं उन्हें रखिए arrays in PHP से, या loops के अंदर चुनाव कीजिए if-else in PHP से।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
for और while loop में क्या अंतर है?
for loop तब जब पता हो कितनी बार दोहराना है (जैसे 1 से 10)। while loop तब जब किसी condition के बदलने तक दोहराना हो और गिनती पहले से पता न हो। दोनों एक ही काम कर सकते हैं; गिनती के लिए for साफ़ रहता है।while और do-while में क्या अंतर है?
while loop पहले condition जाँचता है, तो शायद शून्य बार चले। do-while पहले body एक बार चलाता है फिर जाँचता है, तो कम-से-कम एक बार ज़रूर चलता है। जब action कम-से-कम एक बार होना ही चाहिए तब do-while इस्तेमाल कीजिए।foreach कब इस्तेमाल करें?
foreach इस्तेमाल कीजिए, बिना index खुद संभाले। arrays पर loop करने का यह सबसे साफ़ तरीका है, और numbered व key-value (associative) दोनों arrays पर चलता है।PHP में infinite loop क्यों होता है?
$i++ छूट जाना)। हमेशा पक्का कीजिए कि loop के अंदर कुछ उसे ख़त्म होने की ओर ले जाए।break और continue में क्या अंतर है?
break loop पूरी तरह छोड़ देता है और आगे बढ़ जाता है। continue सिर्फ़ मौजूदा चक्कर छोड़कर अगले पर कूद जाता है। break सब रोकता है; continue सिर्फ़ एक round skip करता है।