summaryrefslogtreecommitdiff
path: root/tests/lang/foreachLoop.011.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lang/foreachLoop.011.phpt')
-rw-r--r--tests/lang/foreachLoop.011.phpt34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/lang/foreachLoop.011.phpt b/tests/lang/foreachLoop.011.phpt
new file mode 100644
index 0000000..94cb605
--- /dev/null
+++ b/tests/lang/foreachLoop.011.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Changing from an interable type to a non iterable type during the iteration
+--FILE--
+<?php
+echo "\nChange from array to non iterable:\n";
+$a = array(1,2,3);
+$b=&$a;
+foreach ($a as $v) {
+ var_dump($v);
+ $b=1;
+}
+
+echo "\nChange from object to non iterable:\n";
+$a = new stdClass;
+$a->a=1;
+$a->b=2;
+$b=&$a;
+foreach ($a as $v) {
+ var_dump($v);
+ $b='x';
+}
+
+?>
+--EXPECTF--
+
+Change from array to non iterable:
+int(1)
+
+Warning: Invalid argument supplied for foreach() in %s on line 5
+
+Change from object to non iterable:
+int(1)
+
+Warning: Invalid argument supplied for foreach() in %s on line 15 \ No newline at end of file