Return to foreachLoopObjects.004.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang |
1.1 ! misho 1: --TEST-- ! 2: Foreach loop tests - Removing the current element from an iterated object. ! 3: --FILE-- ! 4: <?php ! 5: ! 6: class C { ! 7: public $a = "Original a"; ! 8: public $b = "Original b"; ! 9: public $c = "Original c"; ! 10: public $d = "Original d"; ! 11: public $e = "Original e"; ! 12: } ! 13: ! 14: echo "\nRemoving the current element from an iterated object.\n"; ! 15: $obj = new C; ! 16: $count=0; ! 17: foreach ($obj as $v) { ! 18: if ($v==$obj->b) { ! 19: unset($obj->b); ! 20: } ! 21: var_dump($v); ! 22: if (++$count>10) { ! 23: echo "Loop detected.\n"; ! 24: break; ! 25: } ! 26: } ! 27: var_dump($obj); ! 28: ! 29: ! 30: ?> ! 31: ===DONE=== ! 32: --EXPECTF-- ! 33: Removing the current element from an iterated object. ! 34: string(10) "Original a" ! 35: string(10) "Original b" ! 36: ! 37: Notice: Undefined property: C::$b in %s on line %d ! 38: string(10) "Original c" ! 39: ! 40: Notice: Undefined property: C::$b in %s on line %d ! 41: string(10) "Original d" ! 42: ! 43: Notice: Undefined property: C::$b in %s on line %d ! 44: string(10) "Original e" ! 45: object(C)#%d (4) { ! 46: ["a"]=> ! 47: string(10) "Original a" ! 48: ["c"]=> ! 49: string(10) "Original c" ! 50: ["d"]=> ! 51: string(10) "Original d" ! 52: ["e"]=> ! 53: string(10) "Original e" ! 54: } ! 55: ===DONE===