]> granicus.if.org Git - php/commitdiff
More detailed/explanatory output.
authorPreston L. Bannister <pbannister@php.net>
Thu, 16 May 2002 21:57:24 +0000 (21:57 +0000)
committerPreston L. Bannister <pbannister@php.net>
Thu, 16 May 2002 21:57:24 +0000 (21:57 +0000)
tests/lang/031.phpt

index bb3d7762390196fea82ef6c3df2ff730f8ef381e..b0961b1e3894bca4a46a864fbbef75e2f70a2f9d 100644 (file)
@@ -5,16 +5,66 @@ Internal hash position bug on assignment (Bug #16227)
 --FILE--
 <?php
 // reported by php.net@alienbill.com
-$outsidearray = array("key1","key2");
-$insidearray = array("0","1");
+$arrayOuter = array("key1","key2");
+$arrayInner = array("0","1");
 
-while(list(,$outerval) = each($outsidearray)){
-       $placeholder = $insidearray;
-       while(list(,$innerval) = each($insidearray)){
-               print "inloop $innerval for $outerval\n";
+print "Correct - with inner loop reset.\n";
+
+while(list(,$o) = each($arrayOuter)){
+       reset($arrayInner);
+       while(list(,$i) = each($arrayInner)){
+       print "inloop $i for $o\n";
+       }
+}
+reset($arrayOuter);
+reset($arrayInner);
+
+print "What happens without inner loop reset.\n";
+
+while(list(,$o) = each($arrayOuter)){
+       while(list(,$i) = each($arrayInner)){
+       print "inloop $i for $o\n";
        }
 }
+reset($arrayOuter);
+reset($arrayInner);
+
+print "What happens without inner loop reset but copy.\n";
+
+while(list(,$o) = each($arrayOuter)){
+       $placeholder = $arrayInner;
+       while(list(,$i) = each($arrayInner)){
+       print "inloop $i for $o\n";
+       }
+}
+reset($arrayOuter);
+reset($arrayInner);
+
+print "What happens with inner loop reset over copy.\n";
+
+while(list(,$o) = each($arrayOuter)){
+       $placeholder = $arrayInner;
+       while(list(,$i) = each($placeholder)){
+       print "inloop $i for $o\n";
+       }
+}
+reset($arrayOuter);
+reset($arrayInner);
 ?>
 --EXPECT--
+Correct - with inner loop reset.
+inloop 0 for key1
+inloop 1 for key1
+inloop 0 for key2
+inloop 1 for key2
+What happens without inner loop reset.
+inloop 0 for key1
+inloop 1 for key1
+What happens without inner loop reset but copy.
+inloop 0 for key1
+inloop 1 for key1
+What happens with inner loop reset over copy.
 inloop 0 for key1
 inloop 1 for key1
+inloop 0 for key2
+inloop 1 for key2