PHP හි continue උපදෙස
ලූපයේ ක්රියාකාරිත්වය අවසන් කරන break
උපදෙසට අමතරව, ලූපයේ නව පුනරාවර්තනයක් ආරම්භ
කරන continue උපදෙස ද ඇත. සරල කේතයක් සඳහා
මෙම උපදෙස සමහරවිට ප්රයෝජනවත් විය හැකිය, එසේ
වුවද ප්රායෝගිකව සෑම අවස්ථාවකදීම එය නොමැතිව
ප්රශ්නය විසඳා ගත හැකිය. අපි ප්රායෝගික
උදාහරණයක් බලමු.
අපට සංඛ්යා සමඟින් array එකක් දී ඇතැයි
සිතමු. අපි එය ලූපයකින් හරහා ගමන් කර 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 න් බෙදිය හැකි නම් ක්රියාත්මක වේ
}
?>
continue භාවිතයෙන් ඔත්තේ සංඛ්යා
යොමු කරමින්, 1 සිට 100 දක්වා
ඉරට්ටේ සංඛ්යා පමණක් ප්රදර්ශනය කරන
ලූපයක් ලියන්න.