ID: 12193 Updated by: zeev Reported By: [EMAIL PROTECTED] Old Status: Open Status: Closed Bug Type: Arrays related Operating System: windows PHP Version: 4.0.6 New Comment: list() = each() is not a loop. each() is a simple function, that returns a key,value pair, and advances the internal array pointer to the next pair. It has no idea it's being used inside a loop, and thus, nothing makes this internal pointer go back to the beginning of the array when the loop ends. Solutions: - Use foreach() or - Call reset() on the array at the end of the loop. Previous Comments: ------------------------------------------------------------------------ [2001-07-16 16:27:46] [EMAIL PROTECTED] when tho loops using each are nested, the outer while loop stops after the first iteration. For instance, the output of the following script : $outer=array("o1", "o2"); $inner=array("i1","i2"); while (list($o_index, $o) = each($outer)) while (list($i_index, $i) = each($inner)) echo $o, $i, "<br>"; is o1i1 o1i2 instead of o1i1 o1i2 o2i1 o2i2 ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=12193&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]