PHP හි කොඩි සමඟ වැඩ කිරීම
දැන් අපි කොඩි සමඟ වැඩ කිරීම ඉගෙන ගනිමු.
කොඩියක් යනු විශේෂ විචල්යයක් වන අතර එය
සත්ය අගයන් දෙකක් පමණක් ගත හැකිය: true
සහ false. කොඩි භාවිතයෙන් යමක් නොමැති බව
පරීක්ෂා කරන ගැටළු විසඳිය හැකිය:
උදාහරණයක් ලෙස, අරාවකට ඇතුළත් විශේෂිත අගයක් සහිත මූලද්රව්යයක්
නොමැති බව පරීක්ෂා කළ හැකිය. අපි ආරම්භ කරමු.
පහත දැක්වෙන ගැටළුව විසඳමු: සංඛ්යා සමඟ අරාවක්
දී ඇත, එහි අගය 3 සහිත මූලද්රව්යයක්
පවතීද නැද්ද යන්න පරීක්ෂා කළ යුතුය. තිබේ නම්
- '+++' මුද්රණය කරන්න, නැති නම් -
'---' මුද්රණය කරන්න.
පළමුව, අපි '+++' මුද්රණය කිරීමට උත්සාහ කරමු.
මේ සඳහා අපගේ අරාවේ සියලුම මූලද්රව්ය හරහා පුනරාවර්තනය කර
වත්මන් මූලද්රව්යය 3 අගයට සමාන දැයි
if ප්රකාශයකින් විමසන්න. සමාන නම් -
'+++' මුද්රණය කරන්න:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem === 3) {
echo '+++';
}
}
?>
නමුත් අපගේ විසඳුම ඉතා හොඳ නැත: මක්නිසාද යත්
අරාවේ එක් අගයක් 3 නොව,
කිහිපයක් තිබේ නම්, '+++' කිහිප වරක්
මුද්රණය වේ. අපගේ අරාව නිවැරදි කරමු (අගය 3 සහිත
මූලද්රව්ය දෙකක් සාදන්න) සහ එය සත්යාපනය කර බලමු:
<?php
$arr = [1, 2, 3, 4, 3, 5];
foreach ($arr as $elem) {
if ($elem === 3) {
echo '+++'; // කිහිප වරක් මුද්රණය කරයි
}
}
?>
ගැටළුව නිවැරදි කරමු: මූලද්රව්යය දැනටමත් හමු වී ඇත්නම්
break භාවිතයෙන් පුනරාවර්තනය නතර කරන්න:
<?php
$arr = [1, 2, 3, 4, 3, 5];
foreach ($arr as $elem) {
if ($elem === 3) {
echo '+++';
break; // පුනරාවර්තනය නතර කරන්න
}
}
?>
දැන් අපි උත්සාහ කරමු, අරාවේ කිසිදු අගය
3 සහිත මූලද්රව්යයක් නොමැති නම්,
'---' මුද්රණය වන පරිදි කිරීමට. සුලභ
වැරදි අවබෝධයක් වන්නේ අපගේ if ට
else එකතු කිරීමයි - මෙම අවස්ථාවේදී '---'
3 නොවන සියලුම මූලද්රව්ය සඳහා
මුද්රණය වේ:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
if ($elem === 3) {
echo '+++'; // මූලද්රව්ය 3 මත මුද්රණය කරයි
} else {
echo '---'; // මූලද්රව්ය 1, 2, 4, 5 මත මුද්රණය කරයි
}
}
?>
එබැවින්, else එකතු කිරීමේ අදහස - නරක
අදහසක්, ක්රියාත්මක නොවන එකකි. මේ ආකාරයේ
ගැටළු විසඳීම සඳහා (මෙවැනි ගැටළු බොහෝ විට
සම්බන්ධ වේ) ඊනියා කොඩි භාවිතා කරයි.
ඉහත සඳහන් කර ඇති පරිදි, කොඩියක් යනු එවැනි
විචල්යයක් වන අතර එය අගයන් දෙකක් ගත හැකිය:
true හෝ false.
දැන්, අපි flag නම් විචල්යයක් සාදමු
පහත අගය සමඟ: එය true ට සමාන නම්,
අරාවේ 3 මූලද්රව්යයක් ඇත, නමුත්
false නම්, එවැනි මූලද්රව්යයක් නොමැත.
ආරම්භක ලෙස flag විචල්යය
false අගයට සකසන්න - එනම්,
3 මූලද්රව්යය අරාවේ නොමැති බව සලකන්න:
$arr = [1, 2, 3, 4, 5];
$flag = false; // අරාවේ මූලද්රව්යය 3 නොමැති බව සලකන්න
ඉන්පසු අපි කලින් කළ පරිදි if සමඟ පුනරාවර්තනය ආරම්භ කරමු.
පුනරාවර්තනයෙන් හඳුනා ගන්නේ අරාවේ
මූලද්රව්යය 3 ඇත්නම් - flag විචල්යය
true අගයට සකසා break භාවිතයෙන්
පුනරාවර්තනයෙන් පිටවන්න:
<?php
$arr = [1, 2, 3, 4, 5];
$flag = false; // අරාවේ මූලද්රව්යය 3 නොමැති බව සලකන්න
foreach ($arr as $elem) {
if ($elem === 3) {
$flag = true; // මූලද්රව්යය ඇත - $flag විචල්යය නැවත නිර්වචනය කරන්න
break; // පුනරාවර්තනයෙන් පිටවන්න
}
}
?>
අරාවේ 3 ඇත්ද නැද්ද යන ප්රශ්නයට පිළිතුර
අපට දිය හැක්කේ පුනරාවර්තනයෙන් පසුව පමණි.
මෙම පිළිතුර දැනටමත් අප සතුව ඇත: පුනරාවර්තනයෙන් පසු
flag විචල්යය false ලෙස රැඳී තිබිය හැකිය
හෝ පුනරාවර්තනයෙන් අරාවේ 3 හඳුනා ගත්තේ නම්
එහි අගය true ලෙස වෙනස් වී තිබිය හැකිය:
<?php
$arr = [1, 2, 3, 4, 5];
$flag = false;
foreach ($arr as $elem) {
if ($elem === 3) {
$flag = true;
break;
}
}
// මෙහි $flag විචල්යය true හෝ false ට සමාන වේ
?>
දැන් පුනරාවර්තනයෙන් පසුව අපට if ප්රකාශයක් සෑදිය හැකිය, එය
flag විචල්යය දෙස බලා
තිරය මත '+++' හෝ '---' මුද්රණය කරයි:
<?php
$arr = [1, 2, 3, 4, 5];
$flag = false;
foreach ($arr as $elem) {
if ($elem === 3) {
$flag = true;
break;
}
}
if ($flag === true) {
echo '+++';
} else {
echo '---';
}
?>
අරාව දෙනු ලැබේ:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
?>
මෙම අරාවේ 'c' මූලද්රව්යයක් තිබේද
යන්න පරීක්ෂා කරන්න.
තිබේ නම් - '+++' මුද්රණය කරන්න,
නැති නම් - '---' මුද්රණය කරන්න.
සංඛ්යාවක් ප්රාථමික ද නැද්ද යන්න පරීක්ෂා කරන කේතය ලියන්න. ප්රාථමික සංඛ්යාවක් එකකින් සහ එය විසින්ම පමණක් බෙදිය හැකිය, සහ වෙනත් සංඛ්යාවලින් බෙදිය නොහැකිය.