summaryrefslogtreecommitdiff
path: root/Zend/tests/closure_004.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests/closure_004.phpt')
-rw-r--r--Zend/tests/closure_004.phpt35
1 files changed, 35 insertions, 0 deletions
diff --git a/Zend/tests/closure_004.phpt b/Zend/tests/closure_004.phpt
new file mode 100644
index 0000000..c1c2efb
--- /dev/null
+++ b/Zend/tests/closure_004.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Closure 004: Lambda with lexical variables (scope lifetime)
+--FILE--
+<?php
+
+function run () {
+ $x = 4;
+
+ $lambda1 = function () use ($x) {
+ echo "$x\n";
+ };
+
+ $lambda2 = function () use (&$x) {
+ echo "$x\n";
+ $x++;
+ };
+
+ return array($lambda1, $lambda2);
+}
+
+list ($lambda1, $lambda2) = run();
+
+$lambda1();
+$lambda2();
+$lambda1();
+$lambda2();
+
+echo "Done\n";
+?>
+--EXPECT--
+4
+4
+4
+5
+Done