PHP में continue इंस्ट्रक्शन
लूप का काम पूरा करने वाली break इंस्ट्रक्शन के अलावा,
continue इंस्ट्रक्शन भी होती है, जो लूप का एक नया
इटरेशन शुरू करती है। कभी-कभी कोड को सरल बनाने के लिए यह
इंस्ट्रक्शन उपयोगी हो सकती है, हालांकि लगभग हमेशा इसके
बिना भी समस्या को हल किया जा सकता है। आइए एक व्यावहारिक
उदाहरण देखते हैं।
मान लीजिए कि हमारे पास संख्याओं वाली एक सरणी दी गई है। आइए
इसे लूप से पार करें और जो संख्याएँ 2 से विभाज्य हैं,
उन्हें वर्गित करें और स्क्रीन पर प्रिंट करें, और जो संख्याएँ
3 से विभाज्य हैं, उन्हें घन करें और स्क्रीन पर प्रिंट करें।
वर्णित कार्य का समाधान यहाँ है:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
foreach ($arr as $elem) {
if ($elem % 2 === 0) {
$res = $elem * $elem;
echo $res;
} elseif ($elem % 3 === 0) {
$res = $elem * $elem * $elem;
echo $res;
}
}
?>
जैसा कि आप देख सकते हैं, लाइन echo $res
दो बार दोहराई गई है। आइए इसे if के बाहर
निकालते हैं, इस तरह:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
foreach ($arr as $elem) {
if ($elem % 2 === 0) {
$res = $elem * $elem;
} elseif ($elem % 3 === 0) {
$res = $elem * $elem * $elem;
}
echo $res; // आउटपुट को कंडीशन के बाहर निकाला
}
?>
हालाँकि, अब हमारी स्क्रिप्ट थोड़ा अलग तरीके से काम करती है:
ऐसा होगा कि सामान्य एलिमेंट्स के लिए भी, जिन्हें हमारे
if के माध्यम से प्रोसेस नहीं किया गया है, वेरिएबल
$res को स्क्रीन पर प्रिंट करने का काम किया जाएगा,
जो हमारे कार्य की शर्त के अनुसार, हमें आवश्यक नहीं है।
आइए समस्या को ठीक करते हैं, अपने if में एक और
कंडीशन else जोड़कर, जो उन एलिमेंट्स के लिए
काम करेगा जो 2 और 3 से विभाज्य नहीं हैं,
और वहाँ continue इंस्ट्रक्शन को कॉल करेंगे,
जो तुरंत हमें लूप के नए इटरेशन पर भेज देगी:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
foreach ($arr as $elem) {
if ($elem % 2 === 0) {
$res = $elem * $elem;
} elseif ($elem % 3 === 0) {
$res = $elem * $elem * $elem;
} else {
continue; // लूप के नए इटरेशन पर चले जाएंगे
}
echo $res; // एक्जिक्यूट होगा अगर 2 या 3 से विभाज्य है
}
?>
एक लूप लिखें जो 1 से 100 तक केवल
सम संख्याएँ प्रिंट करे, continue का उपयोग
करके विषम संख्याओं को छोड़ते हुए।