PHP හි දුෂ්කර ක්රියාවලි නැවත නැවත් කිරීම ප්රශස්ත කිරීම
පෙර පාඩමේ නැවත නැවත ශ්රිත කැඳවීම් ඇත්තටම ඉතා කෙටි කාලයක් ගත කරන අතර අපගේ ප්රශස්ත කිරීම එතරම් වැඩි ප්රමාණයක් ඉතිරි කරන්නේ නැත. කෙසේ වෙතත්, අපි "දුෂ්කර" ශ්රිතය කිහිප වතාවක් කැඳවන්නේ නම් සියල්ල තවත් නරක අතට හැරෙනු ඇත, එය සාපේක්ෂව දිගු කාලයක් ගත කරයි.
උදාහරණයක් ලෙස, අප සතුව සංඛ්යාවක බෙදුම්කරුවන් සොයා ගන්නා ශ්රිතයක් ඇතැයි සිතමු:
<?php
function getDivisors($num) {
$result = [];
for ($i = 1; $i <= $num; $i++) {
if ($num % $i == 0) {
$result[] = $i;
}
}
return $result;
}
?>
පැහැදිලිවම, මෙම ශ්රිතය තරමක් "දුෂ්කර" එකකි. එබැවින් මෙවැනි කේතයක් ලිවීම නරක අදහසක් වනු ඇත:
<?php
$num = 123456;
if (array_sum(getDivisors($num)) >= 10 and array_sum(getDivisors($num)) <= 100) {
} else {
}
?>
නිසැකවම, "දුෂ්කර" ක්රියාව එක් වරක් ක්රියාත්මක කර ප්රතිඵලය විචල්යයකට ලියා ගැනීම හොඳයි, ඉන්පසු අවශ්ය ස්ථානවල එම විචල්යය භාවිතා කරන්න:
<?php
$num = 123456;
$sum = array_sum(getDivisors($num));
if ($sum >= 10 and $sum <= 100) {
} else {
}
?>
පහත දක්වා ඇති කේතය ප්රශස්ත කරන්න:
<?php
$num = 1233456789;
if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) {
echo 'සත්යය';
} else {
echo 'අසත්යය';
}
function getSumSquare($num) {
$digits = explode('', $num);
$sum = 0;
foreach ($digits as $digit) {
$sum += $digit * $digit;
}
return $digit;
}
?>