Annotation of embedaddon/php/Zend/tests/bug53958.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #53958 (Closures can't 'use' shared variables by value and by reference)
3: --FILE--
4: <?php
5: // TEST 1
6: $a = 1;
7: $fn1 = function() use ($a) {echo "$a\n"; $a++;};
8: $fn2 = function() use ($a) {echo "$a\n"; $a++;};
9: $a = 5;
10: $fn1(); // 1
11: $fn2(); // 1
12: $fn1(); // 1
13: $fn2(); // 1
14:
15: // TEST 2
16: $b = 1;
17: $fn1 = function() use (&$b) {echo "$b\n"; $b++;};
18: $fn2 = function() use (&$b) {echo "$b\n"; $b++;};
19: $b = 5;
20: $fn1(); // 5
21: $fn2(); // 6
22: $fn1(); // 7
23: $fn2(); // 8
24:
25: // TEST 3
26: $c = 1;
27: $fn1 = function() use (&$c) {echo "$c\n"; $c++;};
28: $fn2 = function() use ($c) {echo "$c\n"; $c++;};
29: $c = 5;
30: $fn1(); // 5
31: $fn2(); // 1
32: $fn1(); // 6
33: $fn2(); // 1
34:
35: // TEST 4
36: $d = 1;
37: $fn1 = function() use ($d) {echo "$d\n"; $d++;};
38: $fn2 = function() use (&$d) {echo "$d\n"; $d++;};
39: $d = 5;
40: $fn1(); // 1
41: $fn2(); // 5
42: $fn1(); // 1
43: $fn2(); // 6
44: ?>
45: --EXPECT--
46: 1
47: 1
48: 1
49: 1
50: 5
51: 6
52: 7
53: 8
54: 5
55: 1
56: 6
57: 1
58: 1
59: 5
60: 1
61: 6
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>