Return to foreachLoop.005.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang |
1.1 ! misho 1: --TEST-- ! 2: Foreach loop tests - modifying the array during the loop: special case. Behaviour is good since php 5.2.2. ! 3: --FILE-- ! 4: <?php ! 5: $a = array("original.0","original.1","original.2"); ! 6: foreach ($a as $k=>&$v){ ! 7: $a[$k] = "changed.$k"; ! 8: echo "After changing \$a directly, \$v@$k is: $v\n"; ! 9: } ! 10: //--- Expected output: ! 11: //After changing $a directly, $v@0 is: changed.0 ! 12: //After changing $a directly, $v@1 is: changed.1 ! 13: //After changing $a directly, $v@2 is: changed.2 ! 14: //--- Actual output from php.net before 5.2.2: ! 15: //After changing $a directly, $v@0 is: changed.0 ! 16: //After changing $a directly, $v@1 is: original.1 ! 17: //After changing $a directly, $v@2 is: original.2 ! 18: ! 19: ?> ! 20: --EXPECT-- ! 21: After changing $a directly, $v@0 is: changed.0 ! 22: After changing $a directly, $v@1 is: changed.1 ! 23: After changing $a directly, $v@2 is: changed.2