0

How to prevent for loop from exceeding condition? Loop below returns 25. I want it to return 20.

for ($i = 5; $sum < 23;)
{
    echo $sum += $i;
}

This loop is just an example. There will be variables with any value in place of 5 and 23

treyBake
  • 6,440
  • 6
  • 26
  • 57
LinasM
  • 105
  • 1
  • 1
  • 7

1 Answers1

1

You have to write your loop differently.

A for loop is designed to run until the conditions evaluates false. In your case, the loop at sum = 20 will still run, becuase sum < 23 evaluates to true. So if you want 20, simply write $sum < 20.

Or if I give it a second thought, you may want to do it like that:

<?PHP
    $sum = 0;

    for($i = 5; ($sum+$i) < 23;)
    {
        $sum += $i;
    }

    echo $sum;

?>
maio290
  • 6,440
  • 1
  • 21
  • 38