$i = $months_arr_length is an assignment, not a comparison, so it will always
evaluate to true, and you are setting your counter var to 12 every time the
loop runs, that's why it runs infinitely.
>
> From: "R. Van Tassel" <[EMAIL PROTECTED]>
> Date: 2004/12/08 Wed PM 04:41:00 EST
> To: "'PHP general'" <[EMAIL PROTECTED]>
> Subject: [PHP] For Loop
>
> I have a question about the following code:
>
> **********************************************
>
> $months_arr = array("JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG",
> "SEP", "OCT", "NOV", "DEC");
> $months_arr_length = count($months_arr);
>
> for($i = 0; $i = $months_arr_length; $i++){
> echo $months_arr[1]." <br />";
> }
>
> ***********************************************
>
> When I run the code above it continues and never stops. According to the PHP
> documentation the second condition works as follows:
>
> "In the beginning of each iteration, expr2 is evaluated. If it evaluates to
> TRUE, the loop continues and the nested statement(s) are executed. If it
> evaluates to FALSE, the execution of the loop ends."
>
> In the first iteration of the loop $i would equal 0 and the array length is
> 12. 12 is consistent. To it seems that the loop should STOP when the counter
> reaches 12, equal to the length of the array. Why is it continuing in a
> neverending loop? What am I missing?
>
> Changing the condition of the for loop to $i <= $months_arr_length; fixes
> everything and it works properly.
>
> Can someone please explain where my confusion is?
>
> Thanks,
> ~R. Van Tassel
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php