Reputation: 939
When reading a PHP book I wanted to try my own (continue) example. I made the following code but it doesn't work although everything seems to be ok
$num2 = 1;
while ($num2 < 19)
{
if ($num2 == 15) {
continue;
} else {
echo "Continue at 15 (".$num2.").<br />";
$num2++;
}
}
The output is
Continue at 15 (1).
Continue at 15 (2).
Continue at 15 (3).
Continue at 15 (4).
Continue at 15 (5).
Continue at 15 (6).
Continue at 15 (7).
Continue at 15 (8).
Continue at 15 (9).
Continue at 15 (10).
Continue at 15 (11).
Continue at 15 (12).
Continue at 15 (13).
Continue at 15 (14).
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/php/continueandbreak.php on line 20
Line 20 is that line
if ($num2 == 15) {
Would you please tell me what's wrong with my example ? I am sorry for such a Noob question
Upvotes: 0
Views: 6464
Reputation: 8510
You don't even need continue there, your code equivalent to;
$num2 = 1;
while ($num2 < 19){
if ($num2 != 15) {
echo "Continue at 15 (".$num2.").<br />";
$num2++;
}
}
If that's not what you're trying to achieve, you're using continue wrong.
Upvotes: 2
Reputation: 2737
in php, use foreach for arrays and for for looping
for($num = 1; $num < 19; $num++) {
if ($num != 15) {
echo "Continue at 15 (" . $num . ") . <br />";
break;
}
}
Upvotes: 0
Reputation: 29314
if you don't increment $num2
before the continue
you will get into an infinite loop;
$num2 = 0;
while ($num2 < 18)
{
$num2++;
if ($num2 == 15) {
continue;
} else {
echo "Continue at 15 (".$num2.").<br />";
}
}
Upvotes: 10