diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /tests/lang/foreachLoopObjects.005.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'tests/lang/foreachLoopObjects.005.phpt')
-rw-r--r-- | tests/lang/foreachLoopObjects.005.phpt | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tests/lang/foreachLoopObjects.005.phpt b/tests/lang/foreachLoopObjects.005.phpt new file mode 100644 index 0000000..1692bcd --- /dev/null +++ b/tests/lang/foreachLoopObjects.005.phpt @@ -0,0 +1,78 @@ +--TEST-- +Foreach loop tests - removing properties before and after the current property during the loop. +--FILE-- +<?php + +class C { + public $a = "Original a"; + public $b = "Original b"; + public $c = "Original c"; + public $d = "Original d"; + public $e = "Original e"; +} + +echo "\nRemoving properties before the current element from an iterated object.\n"; +$obj = new C; +$count=0; +foreach ($obj as $v) { + if ($v==$obj->a) { + unset($obj->c); + } + var_dump($v); + if (++$count>10) { + echo "Loop detected.\n"; + break; + } +} +var_dump($obj); + +echo "\nRemoving properties before the current element from an iterated object.\n"; +$obj = new C; +foreach ($obj as $v) { + if ($v==$obj->b) { + unset($obj->a); + } + var_dump($v); + if (++$count>10) { + echo "Loop detected.\n"; + break; + } +} +var_dump($obj); + + +?> +--EXPECTF-- + +Removing properties before the current element from an iterated object. +string(10) "Original a" +string(10) "Original b" +string(10) "Original d" +string(10) "Original e" +object(C)#%d (4) { + ["a"]=> + string(10) "Original a" + ["b"]=> + string(10) "Original b" + ["d"]=> + string(10) "Original d" + ["e"]=> + string(10) "Original e" +} + +Removing properties before the current element from an iterated object. +string(10) "Original a" +string(10) "Original b" +string(10) "Original c" +string(10) "Original d" +string(10) "Original e" +object(C)#%d (4) { + ["b"]=> + string(10) "Original b" + ["c"]=> + string(10) "Original c" + ["d"]=> + string(10) "Original d" + ["e"]=> + string(10) "Original e" +} |