Bug #12193 Updated: nested loops using each don't work

From: Date: Mon, 16 Jul 2001 20:50:54 +0000
Subject: Bug #12193 Updated: nested loops using each don't work
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-60122@lists.php.net to get a copy of this message
ID: 12193 Updated by: zeev Reported By: adresse@brutele.be 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] adresse@brutele.be 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

« previous php.dev (#60122) next »