Re: For Loop

From: Date: Wed, 08 Dec 2004 21:52:22 +0000
Subject: Re: For Loop
Groups: php.general 
Request: Send a blank email to php-general+get-203767@lists.php.net to get a copy of this message
$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" <jazzsnob@optonline.net> > Date: 2004/12/08 Wed PM 04:41:00 EST > To: "'PHP general'" <php-general@lists.php.net> > 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 > >

« previous php.general (#203767) next »