ID: 16227 Updated by: [EMAIL PROTECTED] -Summary: nested while(list = each) break, weird workaround -Reported By: [EMAIL PROTECTED] +Reported By: [EMAIL PROTECTED] -Status: Analyzed +Status: Bogus Bug Type: Arrays related -Operating System: Linux +Operating System: Tru64 UNIX 5.0a -PHP Version: 4.2.0-dev +PHP Version: 4.0.6 -Assigned To: +Assigned To: hholzgra New Comment:
ever heard of reset() ? Previous Comments: ------------------------------------------------------------------------ [2002-03-22 20:19:56] [EMAIL PROTECTED] Thanks for reporting. I verified with 4.2.0-dev & 4.0.6. This is _VERY_ bad bug... [root@dev etc]# php <?php $outsidearray = array("key1","key2"); $insidearray = array("0","1"); while(list(,$outerval) = each($outsidearray)){ //$placeholder = $insidearray; while(list(,$innerval) = each($insidearray)){ print "inloop $innerval for $outerval<br>"; } } ?> inloop 0 for key1<br> inloop 1 for key1<br> [root@dev etc]# php <?php $outsidearray = array("key1","key2"); $insidearray = array("0","1"); while(list(,$outerval) = each($outsidearray)){ $placeholder = $insidearray; while(list(,$innerval) = each($insidearray)){ print "inloop $innerval for $outerval<br>"; } } ?> inloop 0 for key1<br> inloop 1 for key1<br> inloop 0 for key2<br> inloop 1 for key2<br> [root@dev etc]# [root@dev etc]# php -v 4.2.0-dev ------------------------------------------------------------------------ [2002-03-22 19:52:31] [EMAIL PROTECTED] nested while(list=each) produces weird results. this code <?php $outsidearray = array("key1","key2"); $insidearray = array("0","1"); while(list(,$outerval) = each($outsidearray)){ //$placeholder = $insidearray; while(list(,$innerval) = each($insidearray)){ print "inloop $innerval for $outerval<br>"; } } ?> only gets to key1 of the outer loop. But if you uncomment the $placeholder line, it works ok. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16227&edit=1