|  line  | 
 stmt  | 
 bran  | 
 cond  | 
 sub  | 
 pod  | 
 time  | 
 code  | 
| 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 #  | 
| 
2
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 # PHP::Decode::Test - test cases for usage from php_decode  | 
| 
3
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 #  | 
| 
4
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 package PHP::Decode::Test;  | 
| 
5
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
6
 | 
1
 | 
 
 | 
 
 | 
  
1
  
 | 
 
 | 
992
 | 
 use strict;  | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2
 | 
    | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
37
 | 
    | 
| 
7
 | 
1
 | 
 
 | 
 
 | 
  
1
  
 | 
 
 | 
5
 | 
 use warnings;  | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
3
 | 
    | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
3686
 | 
    | 
| 
8
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
9
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 our $VERSION = '0.301';  | 
| 
10
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
11
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 our @tests = (  | 
| 
12
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str',        q(foo),                             q('foo' ;),  | 
| 
13
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str2',       q(?>foo),                           q(echo 'foo' ; $STDOUT = 'foo' ;),  | 
| 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str3',       q(?>a'\"\''b),                    q(echo 'a\'\\\\"\\\\\'\'b' ; $STDOUT = 'a\'\\\\"\\\\\'\'b' ;), # '\\' is really '\' in q()  | 
| 
15
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str4',       q(?>a"\"\'"b),                    q(echo 'a"\\\\"\\\\\'"b' ; $STDOUT = 'a"\\\\"\\\\\'"b' ;),  | 
| 
16
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str5',       q('a"\\"\\'"b'),                    q('a"\\\\"\\'"b' ;),  | 
| 
17
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str6',       q(a(); "$test"),                    q(a ( ) ; '' . $test ;),  | 
| 
18
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:str7',     q("$test[0]"),                      q('' ;),  | 
| 
19
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:str7',     q("$test[0]"),                      q('' . $test [ 0 ] ;),  | 
| 
20
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str8',       q(a(); "{$test}"),                  q(a ( ) ; $test ;),  | 
| 
21
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str9',       q(a(); "x{$test}y"),                q(a ( ) ; 'x' . $test . 'y' ;),  | 
| 
22
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str10',      q('a'),                             q('a' ;),  | 
| 
23
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str11',      q('\\\\'),                          q('\\\\' ;),  # '\\\\' is really '\\' in php  | 
| 
24
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str12',      q("\\\\\\\\"),                      q('\\\\\\\\' ;),  # '\\\\\\\\' is really '\\\\' in php  | 
| 
25
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str13',      q(":\\\\"),                         q(':\\\\' ;), # '\\\\' is really '\\' in php  | 
| 
26
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str14',      q(ord('\\\\')),                     q(92 ;),  | 
| 
27
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str15',      q(chr(92)),                         q('\\\\' ;),  | 
| 
28
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str16',      q($x = <<
 | 
| 
29
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:str17',    q($x = <<
 | 
| 
30
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:str17',    q($x = <<
 | 
| 
31
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:str18',    q($x = "h={$a[0]} p={$a[1]} b"),    q($x = 'h= p= b' ;),  | 
| 
32
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:str18',    q($x = "h={$a[0]} p={$a[1]} b"),    q($x = 'h=' . $a [ 0 ] . ' p=' . $a [ 1 ] . ' b' ;),  | 
| 
33
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str19',      q("\x65$156\x32"),                  q('e$1562' ;),  | 
| 
34
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str20',      q($x='\15'; $y=$x.'6'),             q($x = '\\\\15' ; $y = '\\\\156' ;),   | 
| 
35
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str21',      q(chr(-159)),                       q('a' ;),  | 
| 
36
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str22',      q(chr(833)),                        q('A' ;),  | 
| 
37
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str23',      q("$_GET[0]"),                      q('' . $_GET [ 0 ] ;),  | 
| 
38
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:str24',    q("$GLOBALS[a]"),                   q('' ;),  | 
| 
39
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:str24',    q("$GLOBALS[a]"),                   q('' . $a ;),  | 
| 
40
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:str25',    q("$test"),                         q('' ;),  | 
| 
41
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:str25',    q("$test"),                         q('' . $test ;),  | 
| 
42
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:str26',    q("x{$test}y"),                     q('xy' ;),  | 
| 
43
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:str26',    q("x{$test}y"),                     q('x' . $test . 'y' ;),  | 
| 
44
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'echo',       q(echo foo),                        q(echo foo ; $STDOUT = 'foo' ;),  | 
| 
45
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'echo2',      q(echo 'foo'),                      q(echo 'foo' ; $STDOUT = 'foo' ;),  | 
| 
46
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'echo3',      q(echo 'foo';),                     q(echo 'foo' ; $STDOUT = 'foo' ;),  | 
| 
47
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'echo4',      q(echo 'foo', 'bar'),               q(echo 'foobar' ; $STDOUT = 'foobar' ;),  | 
| 
48
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'echo6',      q(?> chr(65) ?>),                 q('A' ;),  | 
| 
49
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'echo7',      q(?> chr(65) ?> ),                q('A' ; echo ' ' ; $STDOUT = ' ' ;),  | 
| 
50
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'echo8',      q(?> chr(65); ?> ),               q('A' ; echo ' ' ; $STDOUT = ' ' ;),  | 
| 
51
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:echo9',    q(echo "".$a;),                     q(echo '' ; $STDOUT = '' ;),  | 
| 
52
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:echo9',    q(echo "".$a;),                     q(echo '' . $a ; $STDOUT = '' . $a ;),  | 
| 
53
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:echo10',   q(echo "$a";),                      q(echo '' ; $STDOUT = '' ;),  | 
| 
54
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:echo10',   q(echo "$a";),                      q(echo '' . $a ; $STDOUT = '' . $a ;),  | 
| 
55
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'echo11',     q(echo 'a'.'b'.$_GET[0].'d'.'e';),  q(echo 'ab' . $_GET [ 0 ] . 'de' ; $STDOUT = 'ab' . $_GET [ 0 ] . 'de' ;),  | 
| 
56
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'stmt',       q(echo '2'; echo '1';),             q(echo '2' ; echo '1' ; $STDOUT = '21' ;),  | 
| 
57
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'stmt2',      q('2'; echo '1';),                  q('2' ; echo '1' ; $STDOUT = '1' ;),  | 
| 
58
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'base64',     q(base64_decode('Zm9vYg==');),      q('foob' ;),  | 
| 
59
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'base64-2',   q((base64_decode('Zm9vYg=='));),    q('foob' ;),  | 
| 
60
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'base64-3',   q((base64_encode('foob'));),        q('Zm9vYg==' ;),  | 
| 
61
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'base64-4',   q((Base64_enCode('foob'));),        q('Zm9vYg==' ;),  | 
| 
62
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'base64-5',   q(base64_decode(": Zm9vYg= = ");),  q('foob' ;),  | 
| 
63
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'compress1',  q(gzinflate(base64_decode("S8vPBwA="));), q('foo' ;),  | 
| 
64
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'compress2',  q(gzdecode(base64_decode("H4sIAAAAAAACA0vLzwcAIWVzjAMAAAA="));), q('foo' ;),  | 
| 
65
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'compress3',  q(gzuncompress(base64_decode("eNpLy88HAAKCAUU="));), q('foo' ;),  | 
| 
66
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	#'compress4',  q(base64_encode(gzdeflate("foo", 9));),  q('S8vPBwA=' ;),  | 
| 
67
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	#'compress5',  q(base64_encode(gzencode("foo", 9));),   q('H4sIAAAAAAACA0vLzwcAIWVzjAMAAAA=' ;),  | 
| 
68
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	#'compress6',  q(base64_encode(gzcompress("foo", 9));), q('eNpLy88HAAKCAUU=' ;),  | 
| 
69
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'strlen1',    q(strlen("foo");),                  q(3 ;),  | 
| 
70
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'strlen2',    q(strlen(null);),                   q(0 ;),  | 
| 
71
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'strpos1',    q(strpos("abab", "b");),            q(1 ;),  | 
| 
72
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'strpos2',    q(strpos("abab", "b", 2);),         q(3 ;),  | 
| 
73
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'substr1',    q(substr("abab", 1);),              q('bab' ;),  | 
| 
74
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'substr2',    q(substr("abab", 1, 2);),           q('ba' ;),  | 
| 
75
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'substr3',    q(substr_count("ababab", "ab", 1);),q(2 ;),  | 
| 
76
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'strtr1',     q(strtr("ab", "ab", "cd");),        q('cd' ;),  | 
| 
77
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'strtr2',     q(strtr("ab", "ab", "c");),         q('cb' ;),  | 
| 
78
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'strtr3',     q(strtr("ab", "ab", "cdd");),       q('cd' ;),  | 
| 
79
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'url1',       q(urlencode("a b&+c");),            q('a+b%26%2Bc' ;),  | 
| 
80
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'url2',       q(rawurlencode("a b&+c");),         q('a%20b%26%2Bc' ;),  | 
| 
81
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval',       q(eval('foo')),                     q('foo' ;),  | 
| 
82
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval2',      q(eval('echo foo;');),              q(echo foo ; $STDOUT = 'foo' ;),  | 
| 
83
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval3',      q(eval(eval('echo foo;'))),         q(echo foo ; $STDOUT = 'foo' ;),  | 
| 
84
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval4',      q(eval(eval('foo'))),               q('foo' ;),  | 
| 
85
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval5',      q(eval($x=file_get_contents('y'))), q(eval ( $x = file_get_contents ( 'y' ) ) ;),  | 
| 
86
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval6',      q(eval('echo "foo"; echo "bar"');), q(echo 'foo' ; echo 'bar' ; $STDOUT = 'foobar' ;),  | 
| 
87
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval7',      q(eval('eval(base64_decode("JHggPSAnYSc="));'); echo $x;), q($x = 'a' ; echo 'a' ; $STDOUT = 'a' ;),  | 
| 
88
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval-ord',   q(eval(ord('a'))),                  q(97 ;),  | 
| 
89
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval-ord2',  q(eval('echo '.ord('a').';')),      q(echo 97 ; $STDOUT = '97' ;),  | 
| 
90
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval-ord3',  q(eval((ord('a')))),                q(97 ;),  | 
| 
91
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval-ret1',  q(eval('return "foo";')),           q('foo' ;),  | 
| 
92
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval-ret2',  q(eval('echo "b"; return "a";')),   q(echo 'b' ; 'a' ; $STDOUT = 'b' ;),  | 
| 
93
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval-ret3',  q(eval('return "a"; echo "b";')),   q('a' ;),  | 
| 
94
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'eval-ret4',  q(eval(eval(error_reporting(0)))),  q(error_reporting ( 0 ) ;),  | 
| 
95
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var',       q($x = "foo"; $x),                  q($x = 'foo' ; 'foo' ;),  | 
| 
96
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var2',      q($x = "foo"; eval($x)),            q($x = 'foo' ; 'foo' ;),  | 
| 
97
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'${var}',     q($x = "foo"; eval(${x})),          q($x = 'foo' ; 'foo' ;),  | 
| 
98
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var3',      q($x = "0555"; $x),                 q($x = '0555' ; '0555' ;),  | 
| 
99
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var4',      q($x = array("x" => "0777")),       q($x = array ( 'x' => '0777' ) ;),  | 
| 
100
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var5',      q($x = array("0777" => "0777")),    q($x = array ( '0777' => '0777' ) ;),  | 
| 
101
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var6',      q($x = $y = 'foo';),                q($y = 'foo' ; $x = 'foo' ;),  | 
| 
102
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var7',      q($x[0] = $x[1] = 'foo'; $x),       q($x [ 1 ] = 'foo' ; $x [ 0 ] = 'foo' ; array ( 1 => 'foo' , 0 => 'foo' ) ;),  | 
| 
103
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'elem',       q($x['a'] = "foo"; $x['a']),        q($x [ 'a' ] = 'foo' ; 'foo' ;),  | 
| 
104
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'elem2',      q($x['a'] = 'foo'; $x['a'][0]),     q($x [ 'a' ] = 'foo' ; 'f' ;),  | 
| 
105
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'elem3',      q($x['a'] = 'foo'; $x['a'][0]='k'), q($x [ 'a' ] = 'foo' ; $x [ 'a' ] = 'koo' ;),  | 
| 
106
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'elem4',      q('foo'[0]),                        q('f' ;),  | 
| 
107
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'elem5',      q($y["b"] = "foo"; $x["a"] = $y; echo $x["a"]["b"];), q($y [ 'b' ] = 'foo' ; $x [ 'a' ] = array ( 'b' => 'foo' ) ; echo 'foo' ; $STDOUT = 'foo' ;),  | 
| 
108
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'elem6',      q($x=array("a"=>array()); $x["a"]["b"] = "foo"; $x["a"]["b"];), q($x = array ( 'a' => array ( ) ) ; $x [ 'a' ] [ 'b' ] = 'foo' ; 'foo' ;),  | 
| 
109
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'elem7',      q($x["a"]["b"] = "foo"; $x["a"]["b"];), q($x [ 'a' ] [ 'b' ] = 'foo' ; 'foo' ;),  | 
| 
110
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'elem8',      q($x["a"]["b"] = "foo"; $x["a"]["c"] = "bar";), q($x [ 'a' ] [ 'b' ] = 'foo' ; $x [ 'a' ] [ 'c' ] = 'bar' ;),  | 
| 
111
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'elem9',      q($x["a"]["b"]["c"] = "foo"; $x["a"]["b"]["c"];), q($x [ 'a' ] [ 'b' ] [ 'c' ] = 'foo' ; 'foo' ;),  | 
| 
112
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:elem10',   q($x[$a]['b']['c'] = 'foo'; $x[$a]['b']['c'];), q($x [ '' ] [ 'b' ] [ 'c' ] = 'foo' ; 'foo' ;),  | 
| 
113
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:elem10',   q($x[$a]['b']['c'] = 'foo'; $x[$a]['b']['c'];), q($x [ $a ] [ 'b' ] [ 'c' ] = 'foo' ; $x [ $a ] [ 'b' ] [ 'c' ] ;),  | 
| 
114
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:elem11',   q($x[$a] = 'foo'; $x;),             q($x [ null ] = 'foo' ; array ( '' => 'foo' ) ;),  | 
| 
115
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:elem11',   q($x[$a] = 'foo'; $x;),             q($x [ $a ] = 'foo' ; array ( ) ;),  | 
| 
116
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:elem12',   q($x[$a] = 'foo'; $x[null];),       q($x [ null ] = 'foo' ; 'foo' ;),  | 
| 
117
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:elem12',   q($x[$a] = 'foo'; $x[null];),       q($x [ $a ] = 'foo' ; $x [ '' ] ;),  | 
| 
118
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:elem13',   q($x[$a] = 'foo'; $x[""];),         q($x [ null ] = 'foo' ; 'foo' ;),  | 
| 
119
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:elem13',   q($x[$a] = 'foo'; $x[""];),         q($x [ $a ] = 'foo' ; $x [ '' ] ;),  | 
| 
120
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:elem14',   q($x[$a] = 'foo'; $x[0];),          q($x [ null ] = 'foo' ; $x [ 0 ] ;),  | 
| 
121
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:elem14',   q($x[$a] = 'foo'; $x[0];),          q($x [ $a ] = 'foo' ; $x [ 0 ] ;),  | 
| 
122
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:elem15',   q($x[$a] = 'foo'; $x[$a];),         q($x [ null ] = 'foo' ; 'foo' ;),  | 
| 
123
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:elem15',   q($x[$a] = 'foo'; $x[$a];),         q($x [ $a ] = 'foo' ; $x [ $a ] ;),  | 
| 
124
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS',    q($x = "foo"; eval($GLOBALS['x'])), q($x = 'foo' ; 'foo' ;),  | 
| 
125
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS2',   q(${'GLOBALS'}['x'] = 'foo'; $x),   q($x = 'foo' ; 'foo' ;),  | 
| 
126
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS3',   q($g='GLOBALS';${$g}['x']='foo';$x),q($g = 'GLOBALS' ; $x = 'foo' ; 'foo' ;),  | 
| 
127
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:GLOBALS4', q($x = "foo"; $y=${$GLOBALS['x']}), q($x = 'foo' ; $y = null ;),  | 
| 
128
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:GLOBALS4', q($x = "foo"; $y=${$GLOBALS['x']}), q($x = 'foo' ; $y = $foo ;),  | 
| 
129
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS5',   q($GLOBALS ['foo']['bar'] = 1),     q($foo [ 'bar' ] = 1 ;),  | 
| 
130
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS6',   q($GLOBALS ['foo']['bar']['x'] = 1),q($foo [ 'bar' ] [ 'x' ] = 1 ;),  | 
| 
131
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS7',   q($x = "foo"; $y=$GLOBALS[x]['1']), q($x = 'foo' ; $y = 'o' ;),  | 
| 
132
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS8',   q($x = "foo"; $y=$GLOBALS[x]['0'] . $GLOBALS[x]['1']), q($x = 'foo' ; $y = 'fo' ;),  | 
| 
133
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS9',   q($x = "foo"; $y=array($GLOBALS[x]['0'] => f())), q($x = 'foo' ; $y = array ( 'f' => f ( ) ) ;),  | 
| 
134
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS10',  q($x = "foo"; if ($_POST["b"]) $y=array($GLOBALS[x]['0'] => f())), q($x = 'foo' ; if ( $_POST [ 'b' ] ) { $y = array ( 'f' => f ( ) ) ; }),  | 
| 
135
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS11',  q($x = "foo"; echo $GLOBALS[x]['0'],f()), q($x = 'foo' ; echo 'f' , f ( ) ; $STDOUT = 'f' . f ( ) ;),  | 
| 
136
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS12',  q($x='a';$y='x';$z=$GLOBALS[$GLOBALS[y]]), q($x = 'a' ; $y = 'x' ; $z = 'a' ;),  | 
| 
137
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS13',  q(if(a()){$b='c';d(1,e(${$b}))}),   q(if ( a ( ) ) { $b = 'c' ; d ( 1 , e ( $c ) ) ; }),  | 
| 
138
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS14',  q($x=&$GLOBALS; $x['a']='b'; $a),   q($x = & $GLOBALS ; $a = 'b' ; 'b' ;),  | 
| 
139
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS15',  q($x=$GLOBALS; $x['a']='b'; $a),    q($x = $GLOBALS ; $a = 'b' ; 'b' ;),  | 
| 
140
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:GLOBALS16',q($x='a'; ${${"GLOBALS"}[x]}[d]),   q($x = 'a' ;),  | 
| 
141
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:GLOBALS16',q($x='a'; ${${"GLOBALS"}[x]}[d]),   q($x = 'a' ; $a [ 'd' ] ;),  | 
| 
142
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:GLOBALS17',q($x='a'; b(${${"GLOBALS"}[x]}[d])),q($x = 'a' ; b ( null ) ;),  | 
| 
143
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:GLOBALS17',q($x='a'; b(${${"GLOBALS"}[x]}[d])),q($x = 'a' ; b ( $a [ 'd' ] ) ;),  | 
| 
144
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:GLOBALS18',q(${"GLOBALS"}[x]='a'; b(${${"GLOBALS"}[x]}['d'])),q($x = 'a' ; b ( null ) ;),  | 
| 
145
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:GLOBALS18',q(${"GLOBALS"}[x]='a'; b(${${"GLOBALS"}[x]}['d'])),q($x = 'a' ; b ( $a [ 'd' ] ) ;),  | 
| 
146
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS19',  q(if(c()){$x='a'; b(${${"GLOBALS"}[x]}['d'])}), q(if ( c ( ) ) { $x = 'a' ; b ( $a [ 'd' ] ) ; }),  | 
| 
147
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS20',  q(if(c()){${"GLOBALS"}[x]='a'; b(${${"GLOBALS"}[x]}['d'])}), q(if ( c ( ) ) { $x = 'a' ; b ( $a [ 'd' ] ) ; }),  | 
| 
148
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS21',  q(if(d()){f()}elseif(c()){${"GLOBALS"}[x]='a'; b(${${"GLOBALS"}[x]}['d'])}), q(if ( d ( ) ) { f ( ) ; } else if ( c ( ) ) { $x = 'a' ; b ( $a [ 'd' ] ) ; }),  | 
| 
149
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS22',  q($x='a'; ${${'GLOBALS'}['x']} = 'foo'; $a), q($x = 'a' ; $a = 'foo' ; 'foo' ;),  | 
| 
150
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS23',  q($b='foo'; $x='a'; $y='b'; ${${'GLOBALS'}['x']} = ${${'GLOBALS'}['y']}; $a), q($b = 'foo' ; $x = 'a' ; $y = 'b' ; $a = 'foo' ; 'foo' ;),  | 
| 
151
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS24',  q($foo["bar"]["x"] = 1; echo $GLOBALS["foo"]["bar"]["x"];), q($foo [ 'bar' ] [ 'x' ] = 1 ; echo 1 ; $STDOUT = '1' ;),  | 
| 
152
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:GLOBALS25',q($a='x'; $b='y'; ${$a} = f(${$GLOBALS['b']});), q($a = 'x' ; $b = 'y' ; $x = f ( null ) ;),  | 
| 
153
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:GLOBALS25',q($a='x'; $b='y'; ${$a} = f(${$GLOBALS['b']});), q($a = 'x' ; $b = 'y' ; $x = f ( $y ) ;),  | 
| 
154
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS26',  q($a='x'; $b='y'; function d() { ${$a} = f(${$GLOBALS['b']});}), q(function d ( ) { $ { $a } = f ( $ { $GLOBALS [ 'b' ] } ) ; } $a = 'x' ; $b = 'y' ;),  | 
| 
155
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS27',  q($a='x'; $b='y'; function d() { $GLOBALS['c']='z'; ${$a} = f(${$GLOBALS['c']});}), q(function d ( ) { $GLOBALS [ 'c' ] = 'z' ; $ { $a } = f ( $z ) ; } $a = 'x' ; $b = 'y' ;),  | 
| 
156
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS28',  q($a='x'; $b='y'; function d() { $c='z'; ${$c} = f(${$GLOBALS['b']});}), q(function d ( ) { $c = 'z' ; $z = f ( $ { $GLOBALS [ 'b' ] } ) ; } $a = 'x' ; $b = 'y' ;),  | 
| 
157
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:GLOBALS29',q($a='x'; $b='y'; $d = ${$b}[1][$GLOBALS[a]];), q($a = 'x' ; $b = 'y' ; $d = null ;),  | 
| 
158
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:GLOBALS29',q($a='x'; $b='y'; $d = ${$b}[1][$GLOBALS[a]];), q($a = 'x' ; $b = 'y' ; $d = $y [ 1 ] [ 'x' ] ;),  | 
| 
159
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS30',  q($a='x'; function f() { $b='y'; $d = ${$b}[1][$GLOBALS[a]];}), q(function f ( ) { $b = 'y' ; $d = $y [ 1 ] [ $GLOBALS [ 'a' ] ] ; } $a = 'x' ;),  | 
| 
160
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS31',  q($a='x'; function f() { for ($i=0;$i<10;$i++) {$b='y'; $d = ${$b}[1][$GLOBALS[a]];}}), q(function f ( ) { for ( $i = 0 ; $i < 10 ; $i ++ ) { $b = 'y' ; $d = $y [ 1 ] [ $GLOBALS [ 'a' ] ] ; } } $a = 'x' ;),  | 
| 
161
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:GLOBALS32',  q($x = "foo"; if (a()) {$y=$x;}),   q($x = 'foo' ; if ( a ( ) ) { $y = 'foo' ; }),  | 
| 
162
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:GLOBALS32',  q($x = "foo"; if (a()) {$y=$x;}),   q($x = 'foo' ; if ( a ( ) ) { $y = $x ; }),  | 
| 
163
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS33',  q($foo=array(bar=>array()); $GLOBALS ['foo']['bar']['x'] = 1;), q($foo = array ( 'bar' => array ( ) ) ; $foo [ 'bar' ] [ 'x' ] = 1 ;),  | 
| 
164
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS34',  q($GLOBALS['a']='1';$x=$GLOBALS['a'][0];), q($a = '1' ; $x = '1' ;),  | 
| 
165
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS35',  q($y=$GLOBALS; $y['a']='1';$x=$y['a'][0];), q($y = $GLOBALS ; $a = '1' ; $x = '1' ;),  | 
| 
166
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:GLOBALS36',  q($x=1; b(); if ($GLOBALS['x']) { echo 'a'};), q($x = 1 ; b ( ) ; echo 'a' ; $STDOUT = 'a' ;),  | 
| 
167
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:GLOBALS36',  q($x=1; b(); if ($GLOBALS['x']) { echo 'a'};), q($x = 1 ; b ( ) ; if ( $x ) { echo 'a' ; }),  | 
| 
168
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS37',  q(if (c()) { echo 'a'; } else if ($GLOBALS['x']) { echo 'b'};), q(if ( c ( ) ) { echo 'a' ; } else if ( $x ) { echo 'b' ; }),  | 
| 
169
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:GLOBALS38',  q(function f() {$GLOBALS['x']=1; c(); if ($GLOBALS['x']) { echo 'a';}}), q(function f ( ) { $GLOBALS [ 'x' ] = 1 ; c ( ) ; echo 'a' ; }),  | 
| 
170
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:GLOBALS38',  q(function f() {$GLOBALS['x']=1; c(); if ($GLOBALS['x']) { echo 'a';}}), q(function f ( ) { $GLOBALS [ 'x' ] = 1 ; c ( ) ; if ( $GLOBALS [ 'x' ] ) { echo 'a' ; } }),  | 
| 
171
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS39',  q($x=1; if (c()) { $x=0; } if ($GLOBALS['x']) { echo 'b'};), q($x = 1 ; if ( c ( ) ) { $x = 0 ; } if ( $x ) { echo 'b' ; }),  | 
| 
172
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS40',  q(function f() {$GLOBALS['$d'] = a('d');}), q(function f ( ) { $GLOBALS [ '' ] = a ( 'd' ) ; }),  | 
| 
173
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS41',  q($GLOBALS['$d'] = 'a'; $GLOBALS['$e'];), q($ { null } = 'a' ; 'a' ;),  | 
| 
174
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS42',  q($GLOBALS['a']=f(); if(!$GLOBALS['a']) {echo 'c';}), q($a = f ( ) ; if ( ! $a ) { echo 'c' ; }),  | 
| 
175
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:GLOBALS43',  q($x = "foo"; if (a()) $y=array($GLOBALS[x]['0'] => f())), q($x = 'foo' ; if ( a ( ) ) { $y = array ( 'f' => f ( ) ) ; }),  | 
| 
176
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:GLOBALS43',  q($x = "foo"; if (a()) $y=array($GLOBALS[x]['0'] => f())), q($x = 'foo' ; if ( a ( ) ) { $y = array ( $x [ '0' ] => f ( ) ) ; }),  | 
| 
177
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'GLOBALS44',  q(function f($x) { if ($GLOBALS['a']) { echo $x; } else { $GLOBALS['b'] .= $x; }} $y=$_GET[0]; $b=$_GET[1]; f($_GET[2].$y);), q(function f ( $x ) { if ( $GLOBALS [ 'a' ] ) { echo $x ; } else { $GLOBALS [ 'b' ] = $GLOBALS [ 'b' ] . $x ; } } $y = $_GET [ 0 ] ; $b = $_GET [ 1 ] ; $b = $_GET [ 1 ] . $_GET [ 2 ] . $_GET [ 0 ] ;),  | 
| 
178
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER1',     q($_POST['a']),                     q($_POST [ 'a' ] ;),  | 
| 
179
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER2',     q($_POST['a'] = 'foo'; $_POST['a']),q($_POST [ 'a' ] = 'foo' ; 'foo' ;),  | 
| 
180
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER3',     q(if($_POST['a']){$x=1} else {$x=2}), q(if ( $_POST [ 'a' ] ) { $x = 1 ; } else { $x = 2 ; }),  | 
| 
181
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER4',     q($x = 'a' . $_POST['a'] . 'b'),    q($x = 'a' . $_POST [ 'a' ] . 'b' ;),  | 
| 
182
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER5',     q($_POST['a']='b'; $x = 'a' . $_POST['b']), q($_POST [ 'a' ] = 'b' ; $x = 'a' . $_POST [ 'b' ] ;),  | 
| 
183
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER6',     q(function f() {$_POST['a']='b'}; $x = $_POST['a']), q(function f ( ) { $_POST [ 'a' ] = 'b' ; } $x = $_POST [ 'a' ] ;),  | 
| 
184
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER7',     q($_POST['a']='b';if (!empty($_POST['c'])) {$x=1} ), q($_POST [ 'a' ] = 'b' ; if ( ! empty ( $_POST [ 'c' ] ) ) { $x = 1 ; }),  | 
| 
185
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER8',     q($_POST['a'] = 'foo'; $_POST['a'][0]),q($_POST [ 'a' ] = 'foo' ; 'f' ;),  | 
| 
186
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER9',     q($_POST['a'] = 'foo'; $_POST),     q($_POST [ 'a' ] = 'foo' ; array ( 'a' => 'foo' ) ;),  | 
| 
187
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER10',    q($_POST['b'] ? 1 : 2),             q($_POST [ 'b' ] ? 1 : 2 ;),  | 
| 
188
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER11',    q($_POST['a'] = 'a'; $_POST['b'] ? 1 : 2), q($_POST [ 'a' ] = 'a' ; $_POST [ 'b' ] ? 1 : 2 ;),  | 
| 
189
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER12',    q($_POST['a'] = 'a'; $_POST['a'] ? 1 : 2), q($_POST [ 'a' ] = 'a' ; 1 ;),  | 
| 
190
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER14',    q($x=&$_POST; $x['a']='b'; $_POST['a']), q($x = & $_POST ; $_POST [ 'a' ] = 'b' ; 'b' ;),  | 
| 
191
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER15',    q($x=$_POST; $x['a']='b'; $_POST['a']),  q($x = $_POST ; $x [ 'a' ] = 'b' ; $_POST [ 'a' ] ;),  | 
| 
192
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER16',    q(if(f($_POST['a'])) { eval($_POST['a']); }), q(if ( f ( $_POST [ 'a' ] ) ) { eval ( $_POST [ 'a' ] ) ; }),  | 
| 
193
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER17',    q($_POST["a"]=1; $x=$_POST; $x['b']=2; $_POST; $x;), q($_POST [ 'a' ] = 1 ; $x = array ( 'a' => 1 ) ; $x [ 'b' ] = 2 ; array ( 'a' => 1 ) ; array ( 'a' => 1 , 'b' => 2 ) ;),  | 
| 
194
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER18',    q(isset($_POST); $_POST;),          q(1 ; $_POST ;),  | 
| 
195
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER19',    q($a='b'; $x=$_POST; $x[$a];),      q($a = 'b' ; $x = $_POST ; $x [ 'b' ] ;),  | 
| 
196
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER20',    q($x=$_POST; if (!empty($x['a'])) { echo 'b'; }), q($x = $_POST ; if ( ! empty ( $x [ 'a' ] ) ) { echo 'b' ; }),  | 
| 
197
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER21',    q($x=$_POST['a']; if (empty($x)) { $x='1'; } $x;), q($x = $_POST [ 'a' ] ; if ( empty ( $_POST [ 'a' ] ) ) { $x = '1' ; } $x ;),  | 
| 
198
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'SUPER22',    q($_GET[0]=1; if (isset($_GET[1])) { $x=1; } $x;), q($_GET [ 0 ] = 1 ; if ( isset ( $_GET [ 1 ] ) ) { $x = 1 ; } $x ;),  | 
| 
199
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var[i]',    q($x = "foo"; eval($x[1])),         q($x = 'foo' ; 'o' ;),  | 
| 
200
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var[$n]',   q($x = "foo"; $n=1; eval($x[$n])),  q($x = 'foo' ; $n = 1 ; 'o' ;),  | 
| 
201
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$$var',      q($x = 'y'; $y = 'foo'; $$x),       q($x = 'y' ; $y = 'foo' ; 'foo' ;),  | 
| 
202
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$$$var',     q($x='y';$y='z';$z='foo'; $$$x),    q($x = 'y' ; $y = 'z' ; $z = 'foo' ; 'foo' ;),  | 
| 
203
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'${$var}',    q($x = 'y'; $y = 'foo'; ${$x}),     q($x = 'y' ; $y = 'foo' ; 'foo' ;),  | 
| 
204
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:${$var}[n]', q($x = 'foo'; ${$x}['bar']),      q($x = 'foo' ;),  | 
| 
205
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:${$var}[n]', q($x = 'foo'; ${$x}['bar']),      q($x = 'foo' ; $foo [ 'bar' ] ;),  | 
| 
206
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$var[$n]=',  q($x='foo'; $x[1]='f'; $x),         q($x = 'foo' ; $x = 'ffo' ; 'ffo' ;),  | 
| 
207
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'${$var[$n]}',q($x='fox'; $n=2; ${$x[$n]}),       q($x = 'fox' ; $n = 2 ; 'fox' ;),  | 
| 
208
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:f($$a[x])',q($a='foo'; if (f(${$a}['x'])) {}), q($a = 'foo' ; if ( f ( null ) ) { }),  | 
| 
209
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:f($$a[x])',q($a='foo'; if (f(${$a}['x'])) {}), q($a = 'foo' ; if ( f ( $foo [ 'x' ] ) ) { }),  | 
| 
210
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'${$var}[]',  q($x = 'fox'; $y = 'x'; ${$y}[0]),  q($x = 'fox' ; $y = 'x' ; 'f' ;),  | 
| 
211
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$$var[]',    q($x = 'fox'; $y = 'x'; $$y[0]),    q($x = 'fox' ; $y = 'x' ; 'fox' ;),  | 
| 
212
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'${$var()}',  q($x = 'f'; $y = 'a'; function f() {return 'y';} ${$x()};), q(function f ( ) { return 'y' ; } $x = 'f' ; $y = 'a' ; 'a' ;),  | 
| 
213
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$$var()',    q($x = 'y'; $y = 'f'; function f() {return 'a';} $$x();), q(function f ( ) { return 'a' ; } $x = 'y' ; $y = 'f' ; 'a' ;),  | 
| 
214
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'${$var}()',  q($x = 'y'; $y = 'f'; function f() {return 'a';} ${$x}();), q(function f ( ) { return 'a' ; } $x = 'y' ; $y = 'f' ; 'a' ;),  | 
| 
215
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$x[$y++]=',  q($x='foo'; $y=1; $x[$y++]='f'),    q($x = 'foo' ; $y = 1 ; $y = 2 ; $x = 'ffo' ;),  | 
| 
216
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'$$var=',     q($x=a(); $$x=$_GET{'a'};),         q($x = a ( ) ; $ { $x } = $_GET [ 'a' ] ;),  | 
| 
217
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'concat',     q('a' . 'b'),                       q('ab' ;),  | 
| 
218
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'concat2',    q('a' . chr(112) . 'b'),            q('apb' ;),  | 
| 
219
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'concat3',    q(4 . array('x');),                 q('4Array' ;),  | 
| 
220
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'concat4',    q(4 . $x='x'; $x),                  q($x = 'x' ; '4x' ; 'x' ;),  | 
| 
221
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'add',        q('1' + '2' + 3),                   q(6 ;),  | 
| 
222
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'add2',       q($y = a(); $x = 'a' + $y),         q($y = a ( ) ; $x = 'a' + $y ;),  | 
| 
223
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'add3',       q($x = -1 - +2),                    q($x = -3 ;),  | 
| 
224
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'add4',       q($x = 0; $x += 1),                 q($x = 0 ; $x = 1 ;),  | 
| 
225
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:add5',     q($x += 1),                         q($x = 1 ;),  | 
| 
226
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:add5',     q($x += 1),                         q($x = $x + 1 ;),  | 
| 
227
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'add6',       q($x = a(); $x += 1),               q($x = a ( ) ; $x = $x + 1 ;),  | 
| 
228
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'add7',       q(a(); $x += 1),                    q(a ( ) ; $x = $x + 1 ;),  | 
| 
229
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'add8',       q($x = 'a' + 1),                    q($x = 1 ;),  | 
| 
230
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'add9',       q($x = 'a' + '1'),                  q($x = 1 ;),  | 
| 
231
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'add10',      q($x = 1 + '2'),                    q($x = 3 ;),  | 
| 
232
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:add11',    q($x = 'a' + $y),                   q($x = 0 ;),  | 
| 
233
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:add11',    q($x = 'a' + $y),                   q($x = 'a' + $y ;),  | 
| 
234
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'hex',        q($x = 0xff),                       q($x = 255 ;),  | 
| 
235
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'inc',        q($x = 1; $x++; $x),                q($x = 1 ; $x = 2 ; 2 ;),  | 
| 
236
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'inc2',       q($x = 1; $x+=7; $x),               q($x = 1 ; $x = 8 ; 8 ;),  | 
| 
237
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'inc3',       q($x = 1; ++$x),                    q($x = 1 ; $x = 2 ;),  | 
| 
238
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'inc4',       q($x = 1; $y = 5 + ++$x; $x),       q($x = 1 ; $x = 2 ; $y = 7 ; 2 ;),  | 
| 
239
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'inc5',       q($x = 'Z'; ++$x),                  q($x = 'Z' ; $x = 'AA' ;),  | 
| 
240
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'inc6',       q($x = 'AX'; $x--),                 q($x = 'AX' ; $x = 'AX' ;),  | 
| 
241
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'inc7',       q($x=2; $d=($x<<4)+(++$x)),         q($x = 2 ; $x = 3 ; $d = 35 ;),  | 
| 
242
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'inc8',       q($x=2; $d=chr(($x<<4)+(++$x))),    q($x = 2 ; $x = 3 ; $d = '#' ;),  | 
| 
243
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'paren',      q($x = (2*(2 + 4))),                q($x = 12 ;),  | 
| 
244
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'paren2',     q($x = (1 + 2) * 3 + 4),            q($x = 13 ;),  | 
| 
245
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'paren3',     q($x = (foo(7))),                   q($x = foo ( 7 ) ;),  | 
| 
246
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'paren4',     q((1)),                             q(1 ;),  | 
| 
247
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'paren5',     q(($x = 1)),                        q($x = 1 ;),  | 
| 
248
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec1',      q($x = 1 + 2 * 3 + 4),              q($x = 11 ;),  | 
| 
249
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec2',      q($x = 'a'.'b' ^ ' '.' '),          q($x = 'AB' ;),  | 
| 
250
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec3',      q($x = ('a'.'b' ^ ' '.' ') | ' '),  q($x = 'aB' ;),  | 
| 
251
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec4',      q($x = 'a' . b ^ ' '.' ' | '  '),   q($x = 'ab' ;),  | 
| 
252
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec5',      q($x = ~1 & 0xff),                  q($x = 254 ;),  | 
| 
253
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec6',      q($x = 1 != 2),                     q($x = 1 ;),  | 
| 
254
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec7',      q($x = 1 === 1),                    q($x = 1 ;),  | 
| 
255
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec8',      q($x = a(); $x >>= 2),              q($x = a ( ) ; $x = $x >> 2 ;),  | 
| 
256
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec9',      q($x = round(8800000000 / 0x100000000, 12);), q($x = 2.048909664154 ;),  | 
| 
257
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec10',     q($x = (a() || !(b()));),           q($x = a ( ) || ! b ( ) ;),  | 
| 
258
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prec11',     q(if (f()) {$x = $a % $b == $c;}),  q(if ( f ( ) ) { $x = ( $a % $b ) == $c ; }),  | 
| 
259
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:prec12',   q($x >>= 2),                        q($x = 0 ;),  | 
| 
260
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:prec12',   q($x >>= 2),                        q($x = $x >> 2 ;),  | 
| 
261
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter1',       q($x = 1 ? 2 : 3),                  q($x = 2 ;),  | 
| 
262
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter2',       q($x = 'a' ?: 'b'),                 q($x = 'a' ;),  | 
| 
263
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter3',       q($x = true?'true':false?'t':'f'),  q($x = 't' ;),  | 
| 
264
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter4',       q($y = a(); $x = $y ? 2 : 3),       q($y = a ( ) ; $x = $y ? 2 : 3 ;),  | 
| 
265
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:ter5',     q($x = $y ? 2 : 3),                 q($x = 3 ;),  | 
| 
266
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:ter5',     q($x = $y ? 2 : 3),                 q($x = $y ? 2 : 3 ;),  | 
| 
267
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:ter6',     q($a ? ( - 1 ) : 1;),               q(1 ;),  | 
| 
268
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:ter6',     q($a ? ( - 1 ) : 1;),               q($a ? -1 : 1 ;),  | 
| 
269
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter6',       q($x = $_POST['y'] ? 1 : 2;),       q($x = $_POST [ 'y' ] ? 1 : 2 ;),  | 
| 
270
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter7',       q($x = ($_POST['y']) ? 1 : 2;),     q($x = $_POST [ 'y' ] ? 1 : 2 ;),  | 
| 
271
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter8',       q($x = $_POST['y'] ?: 1;),          q($x = $_POST [ 'y' ] ?: 1 ;),  | 
| 
272
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:ter9',     q($x = $x[0] ?: 1;),                q($x = 1 ;),  | 
| 
273
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:ter9',     q($x = $x[0] ?: 1;),                q($x = $x [ 0 ] ?: 1 ;),  | 
| 
274
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter10',      q($x = ($x='a') ? 'b' : c();),      q($x = 'a' ; $x = 'b' ;),  | 
| 
275
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter11',      q($x = a() ? $x='b' : c();),        q($x = a ( ) ? ( $x = 'b' ) : c ( ) ;),  | 
| 
276
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ter12',      q($x = a() ? b() : $x='c';),        q($x = a ( ) ? b ( ) : ( $x = 'c' ) ;),  | 
| 
277
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'nullcoal1',  q($x = 1 ?? 2;),                    q($x = 1 ;),  | 
| 
278
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:nullcoal2',q($x = $a ?? 1;),                   q($x = 1 ;),  | 
| 
279
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:nullcoal2',q($x = $a ?? 1;),                   q($x = $a ?? 1 ;),  | 
| 
280
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:nullcoal3',q($x = $x[0] ?? 1;),                q($x = 1 ;),  | 
| 
281
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:nullcoal3',q($x = $x[0] ?? 1;),                q($x = $x [ 0 ] ?? 1 ;),  | 
| 
282
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'spaceship1', q($x = 1 <=> 2;),                   q($x = -1 ;),  | 
| 
283
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'spaceship2', q($x = "b" <=> "a";),               q($x = 1 ;),  | 
| 
284
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'spaceship3', q($x = 1.5 <=> 1.5;),               q($x = 0 ;),  | 
| 
285
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unset1',     q($x = 1; unset($x); $x),           q($x = 1 ; unset ( $x ) ;),  | 
| 
286
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unset2',     q($x = array('a'); unset($x[0]); $x), q($x = array ( 0 => 'a' ) ; unset ( $x [ 0 ] ) ; array ( ) ;),  | 
| 
287
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unset3',     q(unset($GLOBALS['x']);),           q(unset ( $x ) ;),  | 
| 
288
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unset4',     q($x=array('a'); unset($x[0]); $x), q($x = array ( 0 => 'a' ) ; unset ( $x [ 0 ] ) ; array ( ) ;),  | 
| 
289
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unset5',     q(unset($_POST[f(0)]); function f() {return 'a';}), q(function f ( ) { return 'a' ; } unset ( $_POST [ 'a' ] ) ;),  | 
| 
290
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unref',      q($x = $_POST['y']; $x),            q($x = $_POST [ 'y' ] ; $_POST [ 'y' ] ;),  | 
| 
291
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unref2',     q($x = open('y'); $y=$x),           q($x = open ( 'y' ) ; $y = $x ;),  | 
| 
292
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:unref3',   q($x = $y[2] & foo('y'); $x),       q($x = null & foo ( 'y' ) ; $x ;),  | 
| 
293
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:unref3',   q($x = $y[2] & foo('y'); $x),       q($x = $y [ 2 ] & foo ( 'y' ) ; $x ;),  | 
| 
294
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unref4',     q($x = '_POST'; foo(${$x}['y'])),   q($x = '_POST' ; foo ( $_POST [ 'y' ] ) ;),  | 
| 
295
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unref5',     q($x = 'foo'; if(!$x('y')){}),      q($x = 'foo' ; if ( ! foo ( 'y' ) ) { }),  | 
| 
296
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unref6',     q($x = 'foo'; if(fopen($x)+$x()){}),q($x = 'foo' ; if ( fopen ( 'foo' ) + foo ( ) ) { }),  | 
| 
297
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unref7',     q($y=a(); $x = $y+1; $z=$x+($x+$x)),q($y = a ( ) ; $x = $y + 1 ; $z = $x + $x + $x ;),  | 
| 
298
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unref8',     q($x = $_POST['y']; $y=empty($x)),  q($x = $_POST [ 'y' ] ; $y = empty ( $_POST [ 'y' ] ) ;),  | 
| 
299
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unref9',     q($x = $_POST[y]; if(empty($x)){}), q($x = $_POST [ 'y' ] ; if ( empty ( $_POST [ 'y' ] ) ) { }),  | 
| 
300
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:unref10',  q($x = 'foo'; if($x()+$x()){}),     q($x = 'foo' ; if ( foo ( ) + foo ( ) ) { }),  | 
| 
301
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:unref10',  q($x = 'foo'; if($x()+$x()){}),     q($x = 'foo' ; if ( foo ( ) + $x ( ) ) { }),  | 
| 
302
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:unref11',  q($x = $y+1; $z=$x+($x+$x)),        q($x = 1 ; $z = 3 ;),  | 
| 
303
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:unref11',  q($x = $y+1; $z=$x+($x+$x)),        q($x = $y + 1 ; $z = $x + $x + $x ;),  | 
| 
304
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null1',      q($x = ($y == null)),               q($x = 1 ;),  | 
| 
305
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null2',      q($x = ($y === null)),              q($x = 1 ;),  | 
| 
306
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null3',      q($x = is_null($y)),                q($x = 1 ;),  | 
| 
307
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null4',      q($x = isset($y)),                  q($x = 0 ;),  | 
| 
308
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null5',      q($x = empty($y)),                  q($x = 1 ;),  | 
| 
309
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null6',      q($y = '';$x = ($y == null)),       q($y = '' ; $x = 1 ;),  | 
| 
310
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null7',      q($y = '';$x = ($y === null)),      q($y = '' ; $x = 0 ;),  | 
| 
311
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null8',      q($y = '';$x = is_null($y)),        q($y = '' ; $x = 0 ;),  | 
| 
312
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null9',      q($y = '';$x = isset($y)),          q($y = '' ; $x = 1 ;),  | 
| 
313
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null10',     q($y = '';$x = empty($y)),          q($y = '' ; $x = 1 ;),  | 
| 
314
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null11',     q(if (null) { echo "a"; } else { echo "b"; }), q(echo 'b' ; $STDOUT = 'b' ;),  | 
| 
315
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null12',     q(if (eval("echo \"c\";")) { echo "a"; } else { echo "b"; }), q(echo 'c' ; echo 'b' ; $STDOUT = 'cb' ;),  | 
| 
316
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null13',     q($y = is_null($GLOBALS['x']);),    q($y = 1 ;),  | 
| 
317
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:null14',   q($y = empty($GLOBALS['x'][1]);),   q($y = 1 ;),  | 
| 
318
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:null14',   q($y = empty($GLOBALS['x'][1]);),   q($y = empty ( $x [ 1 ] ) ;),  | 
| 
319
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'null15',     q(${null} = 1; echo ${""};),        q($ { null } = 1 ; echo 1 ; $STDOUT = '1' ;),  | 
| 
320
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:null16',   q(${"$xx"} = 1; echo ${""};),       q($ { null } = 1 ; echo 1 ; $STDOUT = '1' ;),  | 
| 
321
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:null16',   q(${"$xx"} = 1; echo ${""};),       q($ { ( '' . $xx ) } = 1 ; echo $ { null } $STDOUT = $ { null }),  | 
| 
322
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:null17',   q(${"$xx"} = 1; echo ${"$yy"};),    q($ { null } = 1 ; echo 1 ; $STDOUT = '1' ;),  | 
| 
323
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:null17',   q(${"$xx"} = 1; echo ${"$yy"};),    q($ { ( '' . $xx ) } = 1 ; echo $ { ( '' . $yy ) } $STDOUT = $ { ( '' . $yy ) }),  | 
| 
324
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:null18',   q($GLOBALS{"$"} = 1; echo ${""}; echo ${"$"};), q($ { '$' } = 1 ; echo null ; echo 1 ; $STDOUT = '1' ;),  | 
| 
325
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:null18',   q($GLOBALS{"$"} = 1; echo ${""}; echo ${"$"};), q($ { '$' } = 1 ; echo $ { null } echo 1 ; $STDOUT = $ { null } . '1' ;),  | 
| 
326
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'arr-null1',  q($a = array();$x = ($a == null)),  q($a = array ( ) ; $x = 1 ;),  | 
| 
327
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'arr-null2',  q($a = array();$x = ($a === null)), q($a = array ( ) ; $x = 0 ;),  | 
| 
328
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'arr-null3',  q($a = array();$x = is_null($a)),   q($a = array ( ) ; $x = 0 ;),  | 
| 
329
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'arr-null4',  q($a = array();$x = isset($a)),     q($a = array ( ) ; $x = 1 ;),  | 
| 
330
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'arr-null5',  q($a = array();$x = empty($a)),     q($a = array ( ) ; $x = 1 ;),  | 
| 
331
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'arr-null6',  q($a = array('a');$x = empty($a)),  q($a = array ( 0 => 'a' ) ; $x = 0 ;),  | 
| 
332
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'arr-null7',  q($a = array('a');$x = empty($a[0])),  q($a = array ( 0 => 'a' ) ; $x = 0 ;),  | 
| 
333
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'arr-null8',  q($a = array('a');$x = empty($a[1])),  q($a = array ( 0 => 'a' ) ; $x = 1 ;),  | 
| 
334
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'arr-null9',  q($a = array('a');$x = empty($a[0][0])),  q($a = array ( 0 => 'a' ) ; $x = 0 ;),  | 
| 
335
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str-null1',  q($s = 'foo';$x = ($s[1] == null)), q($s = 'foo' ; $x = 0 ;),  | 
| 
336
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'str-null2',  q($s = 'foo';$x = ($s[3] == null)), q($s = 'foo' ; $x = 1 ;),  | 
| 
337
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'intval',     q($x = intval(-2);),                q($x = -2 ;),  | 
| 
338
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'isset1',     q($x = isset($_POST[x])),           q($x = isset ( $_POST [ 'x' ] ) ;),  | 
| 
339
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'isset2',     q($x = f();$y = isset($x)),         q($x = f ( ) ; $y = isset ( $x ) ;),  | 
| 
340
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'isset3',     q($a = array();$y=isset($a['1'])),  q($a = array ( ) ; $y = 0 ;),  | 
| 
341
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'isset4',     q(if (isset($_POST)) { $x = "a"; } else { $x = "b"; }), q($x = 'a' ;),  | 
| 
342
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assign1',    q($x=1;$y=a();$x=$y+1),             q($x = 1 ; $y = a ( ) ; $x = $y + 1 ;),  | 
| 
343
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assign2',    q($x=1;$y=($x=8+$x)+2;echo $x,$y),  q($x = 1 ; $x = 9 ; $y = 11 ; echo '911' ; $STDOUT = '911' ;),  | 
| 
344
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:assign3',  q(($x=1) && foo('a'); $x),          q($x = 1 ; 1 && foo ( 'a' ) ; 1 ;),  | 
| 
345
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:assign3',  q(($x=1) && foo('a'); $x),          q($x = 1 ; 1 && foo ( 'a' ) ; $x ;),  | 
| 
346
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assign4',    q($x=1; $y=$x; $x=2; $y),           q($x = 1 ; $y = 1 ; $x = 2 ; 1 ;),  | 
| 
347
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assign5',    q($x=a(); $y=$x; $x=2; $y),         q($x = a ( ) ; $y = $x ; $x = 2 ; $y ;),  | 
| 
348
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assign6',    q(a(); $x.=foo($a) ? 'a' : 'b'),    q(a ( ) ; $x = $x . ( foo ( $a ) ? 'a' : 'b' ) ;),  | 
| 
349
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assign7',    q(a(); ($x=1) && foo($y)),          q(a ( ) ; $x = 1 ; 1 && foo ( $y ) ;),  | 
| 
350
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:assign8',  q(($x=1) and foo('a'); $x),         q($x = 1 ; 1 and foo ( 'a' ) ; 1 ;),  | 
| 
351
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:assign8',  q(($x=1) and foo('a'); $x),         q($x = 1 ; 1 and foo ( 'a' ) ; $x ;),  | 
| 
352
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assign9',    q($x[$y = 'a'] = 'd'),              q($y = 'a' ; $x [ 'a' ] = 'd' ;),  | 
| 
353
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:assign10', q($x=1;$x=$y+1),                    q($x = 1 ; $x = 1 ;),  | 
| 
354
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:assign10', q($x=1;$x=$y+1),                    q($x = 1 ; $x = $y + 1 ;),  | 
| 
355
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'block',      q({ echo '1'; }),                   q(echo '1' ; $STDOUT = '1' ;),  | 
| 
356
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'block2',     q({ $x = '1'; $x }),                q($x = '1' ; '1' ;),  | 
| 
357
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'block3',     q({ '2'; echo '1'; }),              q('2' ; echo '1' ; $STDOUT = '1' ;),  | 
| 
358
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'comment',    q(/* test */ ?> y),                 q(echo ' y' ; $STDOUT = ' y' ;),  | 
| 
359
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'comment2',   q(// test  y),                    q(),  | 
| 
360
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'comment3',   q(?>// test  y),                  q(echo '// test ' ; 'y' ; $STDOUT = '// test ' ;),  | 
| 
361
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'comment4',   q(# test  y),                     q(),  | 
| 
362
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'comment5',   q(// test ?> y),                    q(echo ' y' ; $STDOUT = ' y' ;),  | 
| 
363
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	#'#str',       q(#str7),                           q(#str7 ;),  | 
| 
364
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'#str',       q(#str7),                           q(),  | 
| 
365
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if',         q($x=1; if($x<3) { $x; }),          q($x = 1 ; 1 ;),  | 
| 
366
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if2',        q(a(); if($x<3) {$y=2} else {$y=3}),q(a ( ) ; if ( $x < 3 ) { $y = 2 ; } else { $y = 3 ; }),  | 
| 
367
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if3',        q($x=1; if($x<3) : $x; endif),      q($x = 1 ; 1 ;),  | 
| 
368
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if4',        q($x=a(); if($x<3) {$y} elseif($a) {$z}),   q($x = a ( ) ; if ( $x < 3 ) { $y ; } else if ( $a ) { $z ; }),  | 
| 
369
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if5',        q(function f(){if($x=g()) return $x}),  q(function f ( ) { $x = g ( ) ; if ( $x ) { return $x ; } }),  | 
| 
370
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if6',        q($x=$_POST['y']; if($x=='a') echo 'a' elseif ($x=='b') echo 'b' elseif ($x=='c') echo 'c'),  q($x = $_POST [ 'y' ] ; if ( $_POST [ 'y' ] == 'a' ) { echo 'a' ; } else if ( $_POST [ 'y' ] == 'b' ) { echo 'b' ; } else if ( $_POST [ 'y' ] == 'c' ) { echo 'c' ; }),  | 
| 
371
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if7',        q($x=a(); if($x<3) $a=$b($c)),      q($x = a ( ) ; if ( $x < 3 ) { $a = $b ( $c ) ; }),  | 
| 
372
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if8',        q(if($x = 'b') eval($x)),           q($x = 'b' ; 'b' ;),  | 
| 
373
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if9',        q(if($x = foo('a')) eval($x)),      q($x = foo ( 'a' ) ; if ( $x ) { eval ( $x ) ; }),  | 
| 
374
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if10',       q(if(empty($a)) {$x=1} else {$x=2}),q($x = 1 ;),  | 
| 
375
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if11',       q(if(a()){ if(empty($a)) {$x=1}}),  q(if ( a ( ) ) { if ( empty ( $a ) ) { $x = 1 ; } }),  | 
| 
376
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if12',       q(if(!($x=a())) {$x=''}),           q($x = a ( ) ; if ( ! $x ) { $x = '' ; }),  | 
| 
377
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if13',       q(if(!$x=a()) {$y=3}),              q($x = a ( ) ; if ( ! $x ) { $y = 3 ; }),  | 
| 
378
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if14',       q(if(1+($x=a())) {$y=3}),           q($x = a ( ) ; if ( 1 + $x ) { $y = 3 ; }),  | 
| 
379
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if15',       q(if(1+($x=2)) {a()}),              q($x = 2 ; a ( ) ;),  | 
| 
380
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:if16',     q(if ($GLOBALS['c']) { echo 'a'; } else { echo 'b'; }), q(echo 'b' ; $STDOUT = 'b' ;),    | 
| 
381
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:if16',     q(if ($GLOBALS['c']) { echo 'a'; } else { echo 'b'; }), q(if ( $c ) { echo 'a' ; } else { echo 'b' ; }),    | 
| 
382
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if17',       q(if(a()) { echo 'a'; } elseif ($x==($y='1')) { echo 'b';}), q(if ( a ( ) ) { echo 'a' ; } else { $y = '1' ; if ( $x == '1' ) { echo 'b' ; } }),  | 
| 
383
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if18',       q(if(b()) { $x=$y; getcwd($x); }),  q(if ( b ( ) ) { $x = $y ; getcwd ( $x ) ; }),  | 
| 
384
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if19',       q(if(b()) { $x=c(); getcwd($x); }), q(if ( b ( ) ) { $x = c ( ) ; getcwd ( $x ) ; }),  | 
| 
385
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if20',       q($y=a(); if(file_exists('a')) { $x=$y; getcwd($x); }), q($y = a ( ) ; if ( file_exists ( 'a' ) ) { $x = $y ; getcwd ( $x ) ; }),  | 
| 
386
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if21',       q(function f($y) { if(file_exists('a')) { $x=$y; getcwd($x); }}), q(function f ( $y ) { if ( file_exists ( 'a' ) ) { $x = $y ; getcwd ( $x ) ; } }),  | 
| 
387
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if22',       q(if(a()+($x=1)) {$y=3}),           q($x = 1 ; if ( a ( ) + 1 ) { $y = 3 ; }),  | 
| 
388
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if23',       q(if(a()) {$y=b() or c();),         q(if ( a ( ) ) { $y = b ( ) ; $y or c ( ) ; }),  | 
| 
389
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'if24',       q(if($x[0]=b()) { c();),            q($x [ 0 ] = b ( ) ; if ( $x [ 0 ] ) { c ( ) ; }),  | 
| 
390
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:if25',     q(if($x<3) {$y=2} else {$y=3}),     q($y = 2 ;),  | 
| 
391
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:if25',     q(if($x<3) {$y=2} else {$y=3}),     q(if ( $x < 3 ) { $y = 2 ; } else { $y = 3 ; }),  | 
| 
392
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'list1',      q($a=['a','b','c']; $a[1];),        q($a = array ( 0 => 'a' , 1 => 'b' , 2 => 'c' ) ; 'b' ;),  | 
| 
393
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'list2',      q([$a,$b]=['a','b','c']; $a; $b;),  q(list ( $a , $b ) = array ( 0 => 'a' , 1 => 'b' , 2 => 'c' ) ; 'a' ; 'b' ;),  | 
| 
394
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'list3',      q(list($a,$b)=['a','b']; $a; $b;),  q(list ( $a , $b ) = array ( 0 => 'a' , 1 => 'b' ) ; 'a' ; 'b' ;),  | 
| 
395
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'list4',      q([$a,,$b]=['a','b','c']; $a; $b;), q(list ( $a , , $b ) = array ( 0 => 'a' , 1 => 'b' , 2 => 'c' ) ; 'a' ; 'c' ;),  | 
| 
396
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'list5',      q([$a[1],$a[0]]=['a','b']; $a;),    q(list ( $a [ 1 ] , $a [ 0 ] ) = array ( 0 => 'a' , 1 => 'b' ) ; array ( 1 => 'a' , 0 => 'b' ) ;),  | 
| 
397
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'list6',      q($a=['a', 'x' => 'b']; $a[0]),     q($a = array ( 0 => 'a' , 'x' => 'b' ) ; 'a' ;),  | 
| 
398
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'list7',      q(function f($x) { return [$a,$b]=$x; } f(['a','b']);),  q(function f ( $x ) { return list ( $a , $b ) = $x ; } array ( 0 => 'a' , 1 => 'b' ) ;),  | 
| 
399
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array',      q($a=array('a','b','c'); $a[1]),    q($a = array ( 0 => 'a' , 1 => 'b' , 2 => 'c' ) ; 'b' ;),  | 
| 
400
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array2',     q(a(); $x='b'; $a=array('a',${$x})),q(a ( ) ; $x = 'b' ; $a = array ( 0 => 'a' , 1 => $b ) ;),  | 
| 
401
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array3',     q($a=array(2 => 'a'); $a[2]),       q($a = array ( 2 => 'a' ) ; 'a' ;),  | 
| 
402
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array4',     q($a=array(foo('x') => 'a')),       q($a = array ( foo ( 'x' ) => 'a' ) ;),  | 
| 
403
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array5',     q(a(); $a=$b[0][1]),                q(a ( ) ; $a = $b [ 0 ] [ 1 ] ;),  | 
| 
404
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array6',     q($x=array(); $x[0]=1),             q($x = array ( ) ; $x [ 0 ] = 1 ;),  | 
| 
405
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array7',     q($x=array(); $x[0]=a(); $y=$x; $x=array(); $x[0]=$y),     q($x = array ( ) ; $x [ 0 ] = a ( ) ; $y = $x ; $x = array ( ) ; $x [ 0 ] = $y ;),  | 
| 
406
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array8',     q($b['foo'][] = a()),               q($b [ 'foo' ] [ ] = a ( ) ;),  | 
| 
407
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array9',     q($b['foo']['bar'] = a()),          q($b [ 'foo' ] [ 'bar' ] = a ( ) ;),  | 
| 
408
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array10',    q($a=array(); $a['x']['y']=b(); $a),q($a = array ( ) ; $a [ 'x' ] [ 'y' ] = b ( ) ; $a ;),  | 
| 
409
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array11',    q($a=array('x' => 'a'); $a[x]),     q($a = array ( 'x' => 'a' ) ; 'a' ;),  | 
| 
410
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array12',    q($a=array();$a[]='x';$a[]='y';$a), q($a = array ( ) ; $a [ ] = 'x' ; $a [ ] = 'y' ; array ( 0 => 'x' , 1 => 'y' ) ;),  | 
| 
411
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array13',    q($a=array('a','b','c'); $a[1.02]), q($a = array ( 0 => 'a' , 1 => 'b' , 2 => 'c' ) ; 'b' ;),  | 
| 
412
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array14',    q($a=['a','b','c']; $a[1]),         q($a = array ( 0 => 'a' , 1 => 'b' , 2 => 'c' ) ; 'b' ;),  | 
| 
413
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array15',    q($a=array('a','b','c')[2]; $a),    q($a = 'c' ; 'c' ;),  | 
| 
414
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array16',    q($a=array('a','b')[1].array('c','d')[1]; $a),    q($a = 'bd' ; 'bd' ;),  | 
| 
415
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:array17',  q($a=$b[0][1]),                     q($a = null ;),  | 
| 
416
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:array17',  q($a=$b[0][1]),                     q($a = $b [ 0 ] [ 1 ] ;),  | 
| 
417
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array18',    q($a=array(); if(b()) {$a[]='c';}), q($a = array ( ) ; if ( b ( ) ) { $a [ ] = 'c' ; }),  | 
| 
418
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array19',    q($a=array(); $a['x']['y']='foo'; $a), q($a = array ( ) ; $a [ 'x' ] [ 'y' ] = 'foo' ; array ( 'x' => array ( 'y' => 'foo' ) ) ;),  | 
| 
419
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array20',    q($x=1; $a=array('b'); $a[0]=$a[0].$x; $a), q($x = 1 ; $a = array ( 0 => 'b' ) ; $a [ 0 ] = 'b1' ; array ( 0 => 'b1' ) ;),  | 
| 
420
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array21',    q($a=array(); $a[]='b'; $a[]='c'; $a), q($a = array ( ) ; $a [ ] = 'b' ; $a [ ] = 'c' ; array ( 0 => 'b' , 1 => 'c' ) ;),  | 
| 
421
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array22',    q($a=array(); $a[]='b'; $a[]='c'; $x=0; $a[$x] = $a[$x] . '1' ; $a), q($a = array ( ) ; $a [ ] = 'b' ; $a [ ] = 'c' ; $x = 0 ; $a [ 0 ] = 'b1' ; array ( 0 => 'b1' , 1 => 'c' ) ;),  | 
| 
422
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array23',    q(function f($d) {$a=array(); $a[]='b'; $x=0; $y='d'.$d; $a[$x] = $a[$x] . $y ; $z=count($a);}), q(function f ( $d ) { $a = array ( ) ; $a [ ] = 'b' ; $x = 0 ; $y = 'd' . $d ; $a [ 0 ] = 'b' . $y ; $z = count ( $a ) ; }),  | 
| 
423
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array24',    q($a='b'; ${$a}[0] = 1),            q($a = 'b' ; $b [ 0 ] = 1 ;),  | 
| 
424
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array25',    q($a['w']['x']['y']['z']='b'; $a),  q($a [ 'w' ] [ 'x' ] [ 'y' ] [ 'z' ] = 'b' ; array ( 'w' => array ( 'x' => array ( 'y' => array ( 'z' => 'b' ) ) ) ) ;),  | 
| 
425
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array26',    q(if (array()) {$x=1;} else {$x=2;}),     q($x = 2 ;),  | 
| 
426
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array27',    q(if (!array()) {$x=1;} else {$x=2;}),    q($x = 1 ;),  | 
| 
427
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array28',    q(if (!array('a')) {$x=1;} else {$x=2;}), q($x = 2 ;),  | 
| 
428
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array29',    q($x = array('a') == array('a');),  q($x = 1 ;),  | 
| 
429
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array30',    q($x = array('a') == array('b');),  q($x = 0 ;),  | 
| 
430
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array31',    q($x = 'x' < array('a');),          q($x = 1 ;),  | 
| 
431
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array32',    q($a=array('a','b'); $a[0.123];),   q($a = array ( 0 => 'a' , 1 => 'b' ) ; 'a' ;),  | 
| 
432
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array33',    q($a=array(1=>"a","1"=>"b",1.5=>"c",true=>"d",);), q($a = array ( 1 => 'd' ) ;),  | 
| 
433
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array34',    q($a=array(-2=>"x", "y");),         q($a = array ( -2 => 'x' , -1 => 'y' ) ;),  | 
| 
434
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array35',    q($a=array(1=>"a", "1"=>"b", 1.5=>"c", -1=>"d", "01"=>"e", "1.5"=>"f", true=>"g", false=>"h", ""=>"i", null=>"j", "k", 2=>"l");), q($a = array ( 1 => 'g' , -1 => 'd' , '01' => 'e' , '1.5' => 'f' , 0 => 'h' , '' => 'j' , 2 => 'l' ) ;),  | 
| 
435
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array36',    q($a=array("a", 0=>"b", "c");),     q($a = array ( 0 => 'b' , 1 => 'c' ) ;),  | 
| 
436
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array37',    q($a[0]=array('x'); $a;),           q($a [ 0 ] = array ( 0 => 'x' ) ; array ( 0 => array ( 0 => 'x' ) ) ;),  | 
| 
437
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array38',    q($a=''; $a[0]=array('x'); $a;),    q($a = '' ; $a [ 0 ] = array ( 0 => 'x' ) ; array ( 0 => array ( 0 => 'x' ) ) ;), # up to php70  | 
| 
438
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:array39',  q($x='b'; $a=array('a',${$x})),     q($x = 'b' ; $a = array ( 0 => 'a' , 1 => null ) ;),  | 
| 
439
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:array39',  q($x='b'; $a=array('a',${$x})),     q($x = 'b' ; $a = array ( 0 => 'a' , 1 => $b ) ;),  | 
| 
440
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:is_array1',q(is_array($a);),                   q(0 ;),  | 
| 
441
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:is_array1',q(is_array($a);),                   q(is_array ( $a ) ;),  | 
| 
442
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'is_array2',  q($a=array(); is_array($a);),       q($a = array ( ) ; 1 ;),  | 
| 
443
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'is_array3',  q(is_array($_POST);),               q(1 ;),  | 
| 
444
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array_map',  q(function f($x) { return $x+$x; } array_map('f', array(1,2));), q(function f ( $x ) { return $x + $x ; } array ( 0 => 2 , 1 => 4 ) ;),  | 
| 
445
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array_walk', q($a=array('a','b'); function f(&$x) { $x=strtoupper($x); } array_walk($a, 'f'); $a), q(function f ( & $x ) { $x = strtoupper ( $x ) ; } $a = array ( 0 => 'a' , 1 => 'b' ) ; 1 ; array ( 0 => 'A' , 1 => 'B' ) ;),  | 
| 
446
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array_walk2',q($a=array('a','b'); array_walk($a, function f($v,$k) { echo "[$k:$v]" })), q($a = array ( 0 => 'a' , 1 => 'b' ) ; 1 ; $STDOUT = '[0:a][1:b]' ;),  | 
| 
447
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array_rand', q($a=array('a','b'); array_rand($a,2);), q($a = array ( 0 => 'a' , 1 => 'b' ) ; array ( 0 => 0 , 1 => 1 ) ;),  | 
| 
448
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array_rand2',q($a=array('a'=>'b'); array_rand($a);), q($a = array ( 'a' => 'b' ) ; 'a' ;),  | 
| 
449
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array_push', q($a=array('a'); array_push($a,'b'); $a;),  q($a = array ( 0 => 'a' ) ; 2 ; array ( 0 => 'a' , 1 => 'b' ) ;),  | 
| 
450
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array_push2',q(array_push($a,'b'); $a;),          q(1 ; array ( 0 => 'b' ) ;),  | 
| 
451
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array_pop',  q($a=array('a','b'); array_pop($a); $a;), q($a = array ( 0 => 'a' , 1 => 'b' ) ; 'b' ; array ( 0 => 'a' ) ;),  | 
| 
452
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'array_pop2', q($a=array(); $x=array_pop($a);),    q($a = array ( ) ; $x = null ;),  | 
| 
453
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unshift',    q($a=array('a'); array_unshift($a,'b'); $a;),  q($a = array ( 0 => 'a' ) ; 2 ; array ( 0 => 'b' , 1 => 'a' ) ;),  | 
| 
454
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unshift2',   q(array_unshift($a,'b'); $a;),       q(1 ; array ( 0 => 'b' ) ;),  | 
| 
455
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'shift',      q($a=array('a','b'); array_shift($a); $a;), q($a = array ( 0 => 'a' , 1 => 'b' ) ; 'a' ; array ( 0 => 'b' ) ;),  | 
| 
456
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'shift2',     q($a=array(); $x=array_shift($a);),  q($a = array ( ) ; $x = null ;),  | 
| 
457
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'each',       q($a=array('a','b'); $b=each($a); $c=each($a)),  q($a = array ( 0 => 'a' , 1 => 'b' ) ; $b = array ( 0 => 0 , 1 => 'a' ) ; $c = array ( 0 => 1 , 1 => 'b' ) ;),  | 
| 
458
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'each2',      q($a[0]=array('a','b'); $b=each($a[0]);),  q($a [ 0 ] = array ( 0 => 'a' , 1 => 'b' ) ; $b = array ( 0 => 0 , 1 => 'a' ) ;),  | 
| 
459
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:each3',    q($a=array('a'); while (list($k,$v)=each($a)) { $b.=$v; }),  q($a = array ( 0 => 'a' ) ; $k = 0 ; $v = 'a' ; $b = 'a' ;),  | 
| 
460
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:each3',    q($a=array('a'); while (list($k,$v)=each($a)) { $b.=$v; }),  q($a = array ( 0 => 'a' ) ; while ( list ( $k , $v ) = 0 ) { $b = $b . $v ; }),  | 
| 
461
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'next',       q($a=array('a','b'); $b=next($a); $c=next($a);),  q($a = array ( 0 => 'a' , 1 => 'b' ) ; $b = 'b' ; $c = 0 ;),  | 
| 
462
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'prev',       q($a=array('a','b'); $b=next($a); $c=prev($a);),  q($a = array ( 0 => 'a' , 1 => 'b' ) ; $b = 'b' ; $c = 'a' ;),  | 
| 
463
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'reset',      q($a=array('a','b'); $b=next($a); $c=reset($a);),  q($a = array ( 0 => 'a' , 1 => 'b' ) ; $b = 'b' ; $c = 'a' ;),  | 
| 
464
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'end',        q($a=array('a','b'); $b=end($a); $c=current($a);),  q($a = array ( 0 => 'a' , 1 => 'b' ) ; $b = 'b' ; $c = 'b' ;),  | 
| 
465
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func',       q(function f($x){return $x;} f(2);), q(function f ( $x ) { return $x ; } 2 ;),  | 
| 
466
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func2',      q($a='ab';function f($x){return $x;} f($a[1]);), q(function f ( $x ) { return $x ; } $a = 'ab' ; 'b' ;),  | 
| 
467
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func3',      q(function f($x){return $x;};$x='f';$x(2)), q(function f ( $x ) { return $x ; } $x = 'f' ; 2 ;),  | 
| 
468
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func4',      q(function f($x){$x++; return $x;};f(2)), q(function f ( $x ) { $x ++ ; return $x ; } 3 ;),  | 
| 
469
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func5',      q(function f($x){return $x; ++$x};f(2)), q(function f ( $x ) { return $x ; } 2 ;),  | 
| 
470
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func6',      q(function f($x){$a=array('a');return $a[$x];}f(0)), q(function f ( $x ) { $a = array ( 0 => 'a' ) ; return $a [ $x ] ; } 'a' ;),  | 
| 
471
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func8',      q(f(3);function f($x){return $x;}), q(function f ( $x ) { return $x ; } 3 ;),  | 
| 
472
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func9',      q(f(3);if ($y) function f($x){return $x;}), q(f ( 3 ) ; if ( $y ) { function f ( $x ) { return $x ; } }),  | 
| 
473
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func10',     q(eval('function f(){if(${x}) return h()};')),  q(function f ( ) { if ( $x ) { return h ( ) ; } }),  | 
| 
474
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func11',     q(eval('$x=f();function f(){return 1};')),  q(function f ( ) { return 1 ; } $x = 1 ;),  | 
| 
475
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func12',     q(function f(){if($x){return 1}return 2};$y=f()),  q(function f ( ) { if ( $x ) { return 1 ; } return 2 ; } $y = 2 ;),  | 
| 
476
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func13',     q(function f($x){return $x;};$x[0]='f';$x[0](2)), q(function f ( $x ) { return $x ; } $x [ 0 ] = 'f' ; 2 ;),  | 
| 
477
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func14',     q(function f($x){return $x;};$x[0]='f';$GLOBALS[x][0](2)), q(function f ( $x ) { return $x ; } $x [ 0 ] = 'f' ; 2 ;),  | 
| 
478
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func15',     q(function f($x){return $x;};$x=Array('f');$GLOBALS[x][0](2)), q(function f ( $x ) { return $x ; } $x = array ( 0 => 'f' ) ; 2 ;),  | 
| 
479
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func16',     q(function f(){ eval(strrev(";)(emanu_php ohce"));}), q(function f ( ) { echo php_uname ( ) ; }),  | 
| 
480
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func17',     q(a(); call_user_func('foo','x',$y)),    q(a ( ) ; foo ( 'x' , $y ) ;),  | 
| 
481
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func18',     q(a(); if($x) call_user_func('foo',$y)), q(a ( ) ; if ( $x ) { foo ( $y ) ; }),  | 
| 
482
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func19',     q(a(); if($x) call_user_func_array('foo',array('x'.'y'))),    q(a ( ) ; if ( $x ) { foo ( 'xy' ) ; }),  | 
| 
483
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func20',     q(function f(){$GLOBALS[$GLOBALS[a]]()}), q(function f ( ) { $GLOBALS [ $GLOBALS [ 'a' ] ] ( ) ; }),  | 
| 
484
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func21',     q(function f(){$GLOBALS[a]='x';c($GLOBALS[a])}), q(function f ( ) { $GLOBALS [ 'a' ] = 'x' ; c ( 'x' ) ; }),  | 
| 
485
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func22',     q(function f(){$GLOBALS[a]='x';c(${$GLOBALS[a]})}), q(function f ( ) { $GLOBALS [ 'a' ] = 'x' ; c ( $x ) ; }),  | 
| 
486
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func23',     q(function f(){$GLOBALS[a]='x';c(${$GLOBALS[a]} - 1)}), q(function f ( ) { $GLOBALS [ 'a' ] = 'x' ; c ( $x - 1 ) ; }),  | 
| 
487
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func24',     q(function f($x){return a($x);};f(3)), q(function f ( $x ) { return a ( $x ) ; } a ( 3 ) ;),  | 
| 
488
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func25',     q(function f($x){$y=1;return a($y);};f(3)), q(function f ( $x ) { $y = 1 ; return a ( 1 ) ; } a ( 1 ) ;),  | 
| 
489
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func26',     q(function f($x){$y=z();return a($y);};f(3)), q(function f ( $x ) { $y = z ( ) ; return a ( $y ) ; } ( function ( ) { $y = z ( ) ; return a ( $y ) ; } ) ( ) ;),  | 
| 
490
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func27',     q($x=function(){return 'a'}; $x();), q($x = function ( ) { return 'a' ; } 'a' ;),  | 
| 
491
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func28',     q($x=function(){return a() }; $x();), q($x = function ( ) { return a ( ) ; } a ( ) ;),  | 
| 
492
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func29',     q($x=function(){ a() }; $x();),     q($x = function ( ) { a ( ) ; } a ( ) ;),  | 
| 
493
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func30',     q(function a($x) {eval(base64_decode($x))} a('Zm9v')), q(function a ( $x ) { eval ( base64_decode ( $x ) ) ; } 'foo' ;),  | 
| 
494
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func31',     q($a=function($x) {eval(base64_decode($x))}; $a('Zm9v')), q($a = function ( $x ) { eval ( base64_decode ( $x ) ) ; } 'foo' ;),  | 
| 
495
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func32',     q(function f(){ echo 'a' }; f()),   q(function f ( ) { echo 'a' ; } echo 'a' ; $STDOUT = 'a' ;),  | 
| 
496
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func33',     q(function f($x){return a($x).b($x);};f(3);), q(function f ( $x ) { return a ( $x ) . b ( $x ) ; } a ( 3 ) . b ( 3 ) ;),  | 
| 
497
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func34',     q(function f($x){return $_GET[$x];};f(3);), q(function f ( $x ) { return $_GET [ $x ] ; } $_GET [ 3 ] ;),  | 
| 
498
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func35',     q(function f($x){return eval('if (a($x)) { $y=2; }');};f(3);), q(function f ( $x ) { if ( a ( $x ) ) { $y = 2 ; } return null ; } a ( 3 ) ;),  | 
| 
499
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func36',     q(function f($x){return eval($x);} f('if (a($a)) { $y=2; }');), q(function f ( $x ) { return eval ( $x ) ; } a ( null ) ;),  | 
| 
500
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func37',     q(function f($x = 1) {return $x;}), q(function f ( $x = 1 ) { return $x ; }),  | 
| 
501
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func38',     q(function f() { $x=1; if($_GET[0]) {echo 'b';} elseif ($x) { echo $c;}}), q(function f ( ) { $x = 1 ; if ( $_GET [ 0 ] ) { echo 'b' ; } else { echo $c ; } }),  | 
| 
502
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func39',     q($a=function($x) {eval("echo \"".base64_decode($x)."\";");}; $a("Zm9v");), q($a = function ( $x ) { eval ( 'echo "' . base64_decode ( $x ) . '";' ) ; } echo 'foo' ; $STDOUT = 'foo' ;),  | 
| 
503
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func40',     q(echo function($x) { return $x;}(4);), q(echo 4 ; $STDOUT = '4' ;),  | 
| 
504
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func41',     q(echo (function($x) { return $x;})(4);), q(echo 4 ; $STDOUT = '4' ;),  | 
| 
505
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func42',     q(function f() { $x=1; b(); $x++; }), q(function f ( ) { $x = 1 ; b ( ) ; $x = 2 ; }),  | 
| 
506
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func43',     q(function f() { if (c()) { $x=1; b(); $x++; }), q(function f ( ) { if ( c ( ) ) { $x = 1 ; b ( ) ; $x = 2 ; } }),  | 
| 
507
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:func44',   q(function f() { b(); } $x=1; f(); $x++;), q(function f ( ) { b ( ) ; } $x = 1 ; b ( ) ; $x = 2 ;),  | 
| 
508
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:func44',   q(function f() { b(); } $x=1; f(); $x++;), q(function f ( ) { b ( ) ; } $x = 1 ; b ( ) ; $x ++ ;),  | 
| 
509
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func45',     q(function f() { getcwd(); } $x=1; f(); $x++;), q(function f ( ) { getcwd ( ) ; } $x = 1 ; getcwd ( ) ; $x = 2 ;),  | 
| 
510
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func46',     q(function f() { getcwd(); } b(); $x=1; f(); $x++;), q(function f ( ) { getcwd ( ) ; } b ( ) ; $x = 1 ; getcwd ( ) ; $x = 2 ;),  | 
| 
511
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func47',     q(function e($x) { return $x; } function f($x) { foreach ($x as $y) { $GLOBALS['a']=1; e($GLOBALS['b']); b($GLOBALS['a']);}}), q(function e ( $x ) { return $x ; } function f ( $x ) { foreach ( $x as $y ) { $GLOBALS [ 'a' ] = 1 ; $GLOBALS [ 'b' ] ; b ( 1 ) ; } }),  | 
| 
512
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func48',     q(function f($x) { return $x; } f('a','b');),  q(function f ( $x ) { return $x ; } 'a' ;),  | 
| 
513
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func49',     q(function f($x,$y) { return $x; } f('a');),   q(function f ( $x , $y ) { return $x ; } f ( 'a' ) ;),  | 
| 
514
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func50',     q(function f($x,$y=0) { return $x; } f('a');), q(function f ( $x , $y = 0 ) { return $x ; } 'a' ;),  | 
| 
515
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func51',     q(function f($x) { return $x; } F('a');), q(function f ( $x ) { return $x ; } 'a' ;),  | 
| 
516
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func52',     q(function f($x){return $x;}; F(2);), q(function f ( $x ) { return $x ; } 2 ;),  | 
| 
517
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'func53',     q(function F($x){return $x;}; f(2);), q(function F ( $x ) { return $x ; } 2 ;),  | 
| 
518
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:func54',   q(call_user_func('foo','x',$y)),    q(foo ( 'x' , null ) ;),  | 
| 
519
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:func54',   q(call_user_func('foo','x',$y)),    q(foo ( 'x' , $y ) ;),  | 
| 
520
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:func55',   q(if($x) call_user_func('foo',$y)), q(),  | 
| 
521
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:func55',   q(if($x) call_user_func('foo',$y)), q(if ( $x ) { foo ( $y ) ; }),  | 
| 
522
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:global1',  q(function f() { global $x; if (c()) { $x=1; b(); $x++; } ), q(function f ( ) { global $x ; if ( c ( ) ) { $x = 1 ; b ( ) ; $x = 2 ; } }),  | 
| 
523
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:global1',  q(function f() { global $x; if (c()) { $x=1; b(); $x++; } ), q(function f ( ) { global $x ; if ( c ( ) ) { $x = 1 ; b ( ) ; $x ++ ; } }),  | 
| 
524
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'global2',    q(function f() { global $x; $x.='2'; } $x='1'; f(); $x.='3';), q(function f ( ) { global $x ; $x = $x . '2' ; } $x = '1' ; $x = '12' ; $x = '123' ;),  | 
| 
525
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'global3',    q(function f() { global $x; $x.='2'; } if (c()) { $x='1'; f(); $x.='3'; }), q(function f ( ) { global $x ; $x = $x . '2' ; } if ( c ( ) ) { $x = '1' ; $x = '12' ; $x = '123' ; }),  | 
| 
526
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'static1',    q(function f() { static $x; return $x++; } f(); f();), q(function f ( ) { static $x ; return $x ++ ; } f ( ) ; f ( ) ; '1' ;),  | 
| 
527
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'static2',    q(function f() { static $x=null; if($x==null) { $x='a'; } else { echo $x; }} f(); f();), q(function f ( ) { static $x = null ; if ( $x == null ) { $x = 'a' ; } else { echo $x ; } } f ( ) ; echo 'a' ; $STDOUT = 'a' ;),  | 
| 
528
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'static3',    q(class c { static $x; static function f() { return c::$x++; }} c::f(); c::f();), q(class c { static $x ; static function f ( ) { return c :: $x ++ ; } } c :: f ( ) ; c :: f ( ) ; '1' ;),  | 
| 
529
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'static4',    q(class c { static $x; static function f() { return ++c::$x; }} c::f(); c::f();), q(class c { static $x ; static function f ( ) { return ++ c :: $x ; } } c :: f ( ) ; '1' ; c :: f ( ) ; '2' ;),  | 
| 
530
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'static5',    q(class c { static $x; static function f($i) { if (!c::$x) { c::a(); } return c::$x[$i]; } static function a() { c::$x=array('a'); }} c::f(0); c::f(0);),  q(class c { static $x ; static function f ( $i ) { if ( ! c :: $x ) { c :: a ( ) ; } return c :: $x [ $i ] ; } static function a ( ) { c :: $x = array ( 0 => 'a' ) ; } } c :: a ( ) ; 'a' ; 'a' ;),  | 
| 
531
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'static6',    q(class C { static $x; static function f($i) { if (!C::$x) { C::a(); } return C::$x[$i]; } static function a() { C::$x=array('a'); }} C::f(0); C::f(0);),  q(class C { static $x ; static function f ( $i ) { if ( ! C :: $x ) { C :: a ( ) ; } return C :: $x [ $i ] ; } static function a ( ) { C :: $x = array ( 0 => 'a' ) ; } } C :: a ( ) ; 'a' ; 'a' ;),  | 
| 
532
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'static7',    q(class c { static $x; static function f($i) { if (!c::$x) { c::a(); } return c::$x[$i]; } static function a() { c::$x=array('a'); }} function b() { echo c::f(0); echo c::f(0);} b(); b();),  q(class c { static $x ; static function f ( $i ) { if ( ! c :: $x ) { c :: a ( ) ; } return c :: $x [ $i ] ; } static function a ( ) { c :: $x = array ( 0 => 'a' ) ; } } function b ( ) { echo c :: f ( 0 ) ; echo c :: f ( 0 ) ; } c :: a ( ) ; echo 'a' ; echo 'a' ; echo 'a' ; echo 'a' ; $STDOUT = 'aaaa' ;),  | 
| 
533
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ref1',       q($a='a'; $b=&$a; $b='b'; $a),      q($a = 'a' ; $b = & $a ; $b = 'b' ; 'b' ;),  | 
| 
534
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ref2',       q($a='a'; function f(&$x){$x='b'};f($a);$a), q(function f ( & $x ) { $x = 'b' ; } $a = 'a' ; f ( $a ) ; 'b' ;),  | 
| 
535
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ref3',       q($a[0]='a'; $b=&$a; $b[1]='b'; $a[0]; $a[1]), q($a [ 0 ] = 'a' ; $b = & $a ; $b [ 1 ] = 'b' ; 'a' ; 'b' ;),  | 
| 
536
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ref4',       q($a[0]='a'; $b=&$a; $b[1]='b'; $a[0]='c'; $b[0]), q($a [ 0 ] = 'a' ; $b = & $a ; $b [ 1 ] = 'b' ; $a [ 0 ] = 'c' ; 'c' ;),  | 
| 
537
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ref5',       q(global $a; $b=&$a; $b[1]='b'; $a[1]), q(global $a ; $b = & $a ; $a [ 1 ] = 'b' ; 'b' ;),  | 
| 
538
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ref6',       q(function f($x) { $r=''; exec($x, $r); $r = join(' ', $r); return $r; } $y=f('cwd');), q(function f ( $x ) { $r = '' ; exec ( $x , $r ) ; $r = join ( ' ' , $r ) ; return $r ; } $y = ( function ( ) { $r = '' ; exec ( 'cwd' , $r ) ; return join ( ' ' , $r ) ; } ) ( ) ;),  | 
| 
539
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:nofunc',   q($x='foo';f(${$x}['bar'])),        q($x = 'foo' ; f ( null ) ;),  | 
| 
540
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:nofunc',   q($x='foo';f(${$x}['bar'])),        q($x = 'foo' ; f ( $foo [ 'bar' ] ) ;),  | 
| 
541
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'varscope',   q($x=1;function f(){$x=0};f();$x),  q(function f ( ) { $x = 0 ; } $x = 1 ; 1 ;),  | 
| 
542
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'varscope2',  q($x=1;function f(){$GLOBALS['x']=0};f();$x;),  q(function f ( ) { $GLOBALS [ 'x' ] = 0 ; } $x = 1 ; $x = 0 ; 0 ;),  | 
| 
543
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'varscope3',  q($x=1;function f(){global $x;$x=0};f();$x;),  q(function f ( ) { global $x ; $x = 0 ; } $x = 1 ; $x = 0 ; 0 ;),  | 
| 
544
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'varscope4',  q($x=1;f();function f(){$GLOBALS['x']=0};$x;),  q(function f ( ) { $GLOBALS [ 'x' ] = 0 ; } $x = 1 ; $x = 0 ; 0 ;),  | 
| 
545
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'varscope5',  q($y='x';$x=f(0);function f($x){${$GLOBALS['y']}=1;return $x;}),  q(function f ( $x ) { $ { $GLOBALS [ 'y' ] } = 1 ; return $x ; } $y = 'x' ; $x = 1 ;),  | 
| 
546
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'obj1',       q(a(); $x=$y->foo()),               q(a ( ) ; $x = $y -> foo ( ) ;),  | 
| 
547
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'obj2',       q($x=$y->foo()),                    q($x = $y -> foo ( ) ;),  | 
| 
548
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:obj3',     q($y=new a(); $x=$y->b($z);),       q($y = new a ( ) ; $x = $y -> b ( null ) ;),  | 
| 
549
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:obj3',     q($y=new a(); $x=$y->b($z);),       q($y = new a ( ) ; $x = $y -> b ( $z ) ;),  | 
| 
550
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:obj4',     q($y=new a(); $x=$y->b(${$GLOBALS['e']});), q($y = new a ( ) ; $x = $y -> b ( null ) ;),  | 
| 
551
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:obj4',     q($y=new a(); $x=$y->b(${$GLOBALS['e']});), q($y = new a ( ) ; $x = $y -> b ( $ { $e } ) ;),  | 
| 
552
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'obj5',       q(function f() { $y=new a(); $x=$y->b(${$GLOBALS['e']}); }), q(function f ( ) { $y = new a ( ) ; $x = $y -> b ( $ { $GLOBALS [ 'e' ] } ) ; }),  | 
| 
553
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'obj6',       q(class a { function b($x) { return $this->a;}}; function f() { $y=new a(); $x=$y->b($ { $GLOBALS ['e'] });}), q(class a { function b ( $x ) { return $this -> a ; } } function f ( ) { $y = new a ( ) ; $x = $y -> b ( $ { $GLOBALS [ 'e' ] } ) ; }),  | 
| 
554
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'obj7',       q(class a { function b() { $this->a['c']=1; }}), q(class a { function b ( ) { $this -> a [ 'c' ] = 1 ; } }),  | 
| 
555
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'obj8',       q(class a { function b() { $this->a['c']['d']=1; }}), q(class a { function b ( ) { $this -> a [ 'c' ] [ 'd' ] = 1 ; } }),  | 
| 
556
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'i:obj9',     q($x=1; $_SESSION['a']->b(); $x++;), q($x = 1 ; $_SESSION [ 'a' ] -> b ( ) ; $x = 2 ;),  | 
| 
557
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'I:obj9',     q($x=1; $_SESSION['a']->b(); $x++;), q($x = 1 ; $_SESSION [ 'a' ] -> b ( ) ; $x ++ ;),  | 
| 
558
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'obj10',      q($_SESSION['a']->b(); $x++;),      q($_SESSION [ 'a' ] -> b ( ) ; $x ++ ;),  | 
| 
559
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'obj11',      q(class a { function b($a) { $this->a=2; return $a; }} $x=(new a())->b(1);),  q(class a { function b ( $a ) { $this -> a = 2 ; return $a ; } } new a ( ) -> b ( 1 ) ; $x = 1 ;),  | 
| 
560
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class1',     q($x=A::foo()),                     q($x = A :: foo ( ) ;),  | 
| 
561
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class2',     q(class a { $x = 1; }),             q(class a { $x = 1 ; }),  | 
| 
562
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class3',     q(class a { public function b() {return 'd'}} $x=new a(); $y=$x->b()), q(class a { public function b ( ) { return 'd' ; } } $x = new a ( ) ; $y = 'd' ;),  | 
| 
563
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class4',     q($x=new a(); $y=$x->b(); class a { public function b() {return 'd'}}), q(class a { public function b ( ) { return 'd' ; } } $x = new a ( ) ; $y = 'd' ;),  | 
| 
564
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class5',     q(class a { public function b() {return 'd'}} do { $x=new a(); $y=$x->b() } while(0)), q(class a { public function b ( ) { return 'd' ; } } $x = new a ( ) ; $y = 'd' ;),  | 
| 
565
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class6',     q(class a { function b() { return 'd'; }} (new a)->b()), q(class a { function b ( ) { return 'd' ; } } 'd' ;),  | 
| 
566
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class7',     q(class a { } $x = new a),          q(class a { } $x = new a ( ) ;),  | 
| 
567
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class8',     q(class a { function b() { return 'd'; }} (new a())->b()), q(class a { function b ( ) { return 'd' ; } } 'd' ;),  | 
| 
568
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class9',     q(class a { function b() { return 'd'; }} (new a())->{'b'}()), q(class a { function b ( ) { return 'd' ; } } 'd' ;),  | 
| 
569
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class10',    q(class a { function __construct() { echo 'd'; }} $c=new a()), q(class a { function __construct ( ) { echo 'd' ; } } $__a___construct = function ( ) { echo 'd' ; } $c = new a ( ) ; $STDOUT = 'd' ;),  | 
| 
570
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class11',    q(class a { function b($x) { return $x; } function c($x) { return $this->b($x) }} (new a())->c('d')), q(class a { function b ( $x ) { return $x ; } function c ( $x ) { return $this -> b ( $x ) ; } } 'd' ;),  | 
| 
571
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class12',    q(class a { public $x = 'd' } (new a())->x; ), q(class a { public $x = 'd' ; } 'd' ;),  | 
| 
572
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class13',    q(class a { public $v; } $x=new a; $x->v='d'; echo $x->v;), q(class a { public $v ; } $x = new a ( ) ; $x -> v = 'd' ; echo 'd' ; $STDOUT = 'd' ;),  | 
| 
573
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class14',    q(class a { function __construct() { echo 'd'; }} new a()), q(class a { function __construct ( ) { echo 'd' ; } } $__a___construct = function ( ) { echo 'd' ; } new a ( ) ; $STDOUT = 'd' ;),  | 
| 
574
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class15',    q(class a { public $x = 'd'; function b() { return $this->x; }} (new a())->b()), q(class a { public $x = 'd' ; function b ( ) { return $this -> x ; } } 'd' ;),  | 
| 
575
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class16',    q(class a { public $x; function __construct() { $this->x = 'd'; }} (new a())->x;),  q(class a { public $x ; function __construct ( ) { $this -> x = 'd' ; } } $__a___construct = function ( ) { $this -> x = 'd' ; } 'd' ;),  | 
| 
576
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class17',    q(class a { public $x; var $a = array('d'); function __construct() { $this->x = $this->a[0]; }} (new a())->x;),  q(class a { public $x ; var $a = array ( 0 => 'd' ) ; function __construct ( ) { $this -> x = $this -> a [ 0 ] ; } } $__a___construct = function ( ) { $this -> x = 'd' ; } 'd' ;),  | 
| 
577
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class18',    q(function f($i) { $a=array('a','b'); return $a[$i]; } $db->obj(f(1));), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } $db -> obj ( 'b' ) ;),  | 
| 
578
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class19',    q(function f($i) { $a=array('a','b'); return $a[$i]; } class c { function b() { if (x()) { switch ($x) {case f(1): $_POST [f(1)];}}}}), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } class c { function b ( ) { if ( x ( ) ) { switch ( $x ) { case 'b' : $_POST [ 'b' ] ; } } } }),  | 
| 
579
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class20',    q(function f($i) { $a=array('a','b'); return $a[$i]; } function b() { class c { function d() { echo a(f(1)); }}}), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } function b ( ) { class c { function d ( ) { echo a ( 'b' ) ; } } }),  | 
| 
580
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class21',    q(class a { function b($x) { return $x; }} $x='1'; new a(); $x.='3';), q(class a { function b ( $x ) { return $x ; } } $x = '1' ; new a ( ) ; $x = '13' ;),  | 
| 
581
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class22',    q(class a { function a($x) { echo $x; }} $c=new a('d');), q(class a { function a ( $x ) { echo $x ; } } $__a___construct = function ( ) { echo 'd' ; } $c = new a ( 'd' ) ; $STDOUT = 'd' ;),  | 
| 
582
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class23',    q(class a { $v=array('b'); function f() { echo $this->v[0]; }} (new a())->f();),  q(class a { $v = array ( 0 => 'b' ) ; function f ( ) { echo $this -> v [ 0 ] ; } } echo 'b' ; $STDOUT = 'b' ;),  | 
| 
583
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class24',    q(class a { var $v; function f() { echo $this->v[0]; }} $c=new a(); $c->v[0]='b'; $c->f();),  q(class a { var $v ; function f ( ) { echo $this -> v [ 0 ] ; } } $c = new a ( ) ; $c -> v [ 0 ] = 'b' ; echo 'b' ; $STDOUT = 'b' ;),  | 
| 
584
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class25',    q(class a { function f() { return 'b'; }} $x='a'; $c=new a(); $x=$x.$c->f();),  q(class a { function f ( ) { return 'b' ; } } $x = 'a' ; $c = new a ( ) ; $x = 'ab' ;),  | 
| 
585
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class26',    q(class aB { function Cd() { return 'b'; }} (new aB())->Cd();),  q(class aB { function Cd ( ) { return 'b' ; } } 'b' ;),  | 
| 
586
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class27',    q(class a { var $x=1; function x() { return 2; }} (new A())->x();),  q(class a { var $x = 1 ; function x ( ) { return 2 ; } } 2 ;),  | 
| 
587
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:class28',  q(class a { var $x=1; function x() { return 2; }} (new A())->X;),  q(class a { var $x = 1 ; function x ( ) { return 2 ; } }),  | 
| 
588
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:class28',  q(class a { var $x=1; function x() { return 2; }} (new A())->X;),  q(class a { var $x = 1 ; function x ( ) { return 2 ; } } new A ( ) -> X ;),  | 
| 
589
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class29',    q(class a { var $x; } $c=new a(); if (isset($c) && b($c) && $c->x) { echo 1; }),  q(class a { var $x ; } $c = new a ( ) ; if ( isset ( $c ) && b ( $c ) && $c -> x ) { echo 1 ; }),  | 
| 
590
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:class30',  q(class a { public $x; } $c=new a(); if ($c->y) { echo 1; }),  q(class a { public $x ; } $c = new a ( ) ;),  | 
| 
591
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:class30',  q(class a { public $x; } $c=new a(); if ($c->y) { echo 1; }),  q(class a { public $x ; } $c = new a ( ) ; if ( $c -> y ) { echo 1 ; }),  | 
| 
592
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class31',    q(class a { public $x=b($_GET[0]); } $c=new a(); if ($c->x) { echo 1; }),  q(class a { public $x = b ( $_GET [ 0 ] ) ; } $c = new a ( ) ; if ( $c -> x ) { echo 1 ; }),  | 
| 
593
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class32',    q(class c { static $b; const b=1; static function b() {return 2;}}; c::b();),  q(class c { static $b ; const b = 1 ; static function b ( ) { return 2 ; } } 2 ;),  | 
| 
594
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class33',    q(class c { var $b; } if (b()) { $x=new c; $x->b = $y; }),  q(class c { var $b ; } if ( b ( ) ) { $x = new c ( ) ; $x -> b = $y ; }),  | 
| 
595
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class34',    q(class c { var $b; } if (b()) { $x=new c; $x->b[0][1] = $y; }),  q(class c { var $b ; } if ( b ( ) ) { $x = new c ( ) ; $x -> b [ 0 ] [ 1 ] = $y ; }),  | 
| 
596
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class35',    q(class c { private $x='foo'; function f() { echo $x; }} $c=new c; $c->f();),  q(class c { private $x = 'foo' ; function f ( ) { echo $x ; } } $c = new c ( ) ; echo null ; $STDOUT = '' ;),  | 
| 
597
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class36',    q(class A {} $a = new A(); $v="-"; $a->$v = '1'; echo $a->{"-"};),  q(class A { } $a = new A ( ) ; $v = '-' ; $a -> $v = '1' ; echo '1' ; $STDOUT = '1' ;),  | 
| 
598
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class37',    q(class c { const a = 1; } echo c::a;),  q(class c { const a = 1 ; } echo 1 ; $STDOUT = '1' ;),  | 
| 
599
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class38',    q(class c { public const a = 1; } echo c::a;),  q(class c { public const a = 1 ; } echo 1 ; $STDOUT = '1' ;),  | 
| 
600
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'class39',    q(class c { function t () { } }; $x=new c($_GET[0]); $x->t($_GET[1]);),  q(class c { function t ( ) { } } $x = new c ( $_GET [ 0 ] ) ; $x -> t ( $_GET [ 1 ] ) ;),  | 
| 
601
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'trait1',     q(trait t { public function f() {return 'a'}}), q(trait t { public function f ( ) { return 'a' ; } }),  | 
| 
602
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'scope1',     q(class a { public static function f($x) { echo $x; }} a::f('d');),  q(class a { public static function f ( $x ) { echo $x ; } } echo 'd' ; $STDOUT = 'd' ;),  | 
| 
603
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'scope2',     q(class a { static $v='2'; public static function f($x) { echo self::$v; }} a::f('d');),  q(class a { static $v = '2' ; public static function f ( $x ) { echo a :: $v ; } } echo '2' ; $STDOUT = '2' ;),  | 
| 
604
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'scope3',     q(class a { static $v=array('b'); public static function f() { echo self::$v[0]; }} a::f();),  q(class a { static $v = array ( 0 => 'b' ) ; public static function f ( ) { echo a :: $v [ 0 ] ; } } echo 'b' ; $STDOUT = 'b' ;),  | 
| 
605
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'scope4',     q(class a { static $v; public static function f() { echo self::$v; }} a::$v='b'; a::f();),  q(class a { static $v ; public static function f ( ) { echo a :: $v ; } } a :: $v = 'b' ; echo 'b' ; $STDOUT = 'b' ;),  | 
| 
606
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'scope5',     q(class a { public static function f($x) { echo __METHOD__; }} a::f('d');),  q(class a { public static function f ( $x ) { echo 'a::f' ; } } echo 'a::f' ; $STDOUT = 'a::f' ;),  | 
| 
607
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'scope6',     q(class a { public static function f() { echo __METHOD__; }} $c=new a; $c->f();),  q(class a { public static function f ( ) { echo 'a::f' ; } } $c = new a ( ) ; echo 'a::f' ; $STDOUT = 'a::f' ;),  | 
| 
608
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace1', q(namespace a\b; echo __NAMESPACE__;),  q(namespace a\b ; echo 'a\\\\b' ; $STDOUT = 'a\\\\b' ;),  | 
| 
609
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace2', q(const A=1; echo \A;),             q(const A = 1 ; echo 1 ; $STDOUT = '1' ;),  | 
| 
610
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace3', q(namespace N; const A=1; echo \N\A;),  q(namespace N ; const A = 1 ; echo 1 ; $STDOUT = '1' ;),  | 
| 
611
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace4', q(function a() { echo __FUNCTION__; } \a();),  q(function a ( ) { echo 'a' ; } echo 'a' ; $STDOUT = 'a' ;),  | 
| 
612
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace5', q(namespace N; function a() { echo __FUNCTION__; } a();),  q(namespace N ; function a ( ) { echo __FUNCTION__ ; } echo 'N\\\\a' ; $STDOUT = 'N\\\\a' ;),  | 
| 
613
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace6', q(namespace N; const A=1; namespace M; const A=2; echo \N\A, A, \M\A;),  q(namespace N ; const A = 1 ; namespace M ; const A = 2 ; echo '1' , A , '2' ; $STDOUT = '122' ;),  | 
| 
614
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace7', q(namespace N { class c { const A=1; }} namespace { echo \N\c::A; }),  q(namespace N { class c { const A = 1 ; } } namespace { echo 1 ; } $STDOUT = '1' ;),  | 
| 
615
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace8', q(namespace N; $x=range(1,1);),     q(namespace N ; $x = array ( 0 => '1' ) ;),  | 
| 
616
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace9', q(namespace N; function range () { return 'a'; }; $x=range(1,1);),  q(namespace N ; function range ( ) { return 'a' ; } $x = 'a' ;),  | 
| 
617
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'namespace10',q(namespace N; function range () { return 'a'; }; $x=\range(1,1);),  q(namespace N ; function range ( ) { return 'a' ; } $x = array ( 0 => '1' ) ;),  | 
| 
618
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'switch',     q(switch(2){case 2: $x=1;} $x),     q($x = 1 ; 1 ;),  | 
| 
619
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'switch2',    q(switch(a()){case 2: $x=1;}),      q(switch ( a ( ) ) { case 2 : $x = 1 ; }),  | 
| 
620
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'switch3',    q($x=0; switch (a()) {case 2: $x=1; case 3: $y=$x+1;}),  q($x = 0 ; switch ( a ( ) ) { case 2 : $x = 1 ; case 3 : $y = $x + 1 ; }),  | 
| 
621
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'switch4',    q(function f($y) {$x=0; switch ($y) {case 2: $x=1; case 3: $y=$x+1;}}),  q(function f ( $y ) { $x = 0 ; switch ( $y ) { case 2 : $x = 1 ; case 3 : $y = $x + 1 ; } }),  | 
| 
622
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'switch5',    q(switch(2){case 1: case 2: $x=1; case 3: $x++;} $x), q($x = 2 ; 2 ;),  | 
| 
623
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'switch6',    q(switch(2){case 1: case 2: $x=1; break; case 3: $x++;} $x), q($x = 1 ; 1 ;),  | 
| 
624
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'switch7',    q(switch(a()){case a: $x=1;}),      q(switch ( a ( ) ) { case a : $x = 1 ; }),  | 
| 
625
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'escape1',    q($y='a'; $x=a(); if($x){$y=$x}; $z=$y),q($y = 'a' ; $x = a ( ) ; if ( $x ) { $y = $x ; } $z = $y ;),  | 
| 
626
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:escape2',  q($y='a'; $x=base64_decode($p); if($x){$y=$x}; $z=$y),q($y = 'a' ; $x = '' ; $z = 'a' ;),  | 
| 
627
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:escape2',  q($y='a'; $x=base64_decode($p); if($x){$y=$x}; $z=$y),q($y = 'a' ; $x = base64_decode ( $p ) ; if ( $x ) { $y = $x ; } $z = $y ;),  | 
| 
628
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'try',        q(try { echo 'a'; } catch (Exception $e) { echo 'b'; } finally { echo 'c'; }), q(try { echo 'a' ; } catch ( Exception $e ) { echo 'b' ; } finally { echo 'c' ; }),  | 
| 
629
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'goto',       q(goto a; a: echo 'x';),            q(goto a ; a : echo 'x' ; $STDOUT = 'x' ;),  | 
| 
630
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'strcmp',     q($x=strcmp('aa','aa')),            q($x = 0 ;),  | 
| 
631
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'strncasecmp',q($x=strncasecmp('aAb','aAc',2)),   q($x = 0 ;),  | 
| 
632
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg1',      q($x=preg_replace("/([a-z])/", ":\\\\1:", 'abc')),  q($x = ':a::b::c:' ;),  | 
| 
633
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg2',      q($x=preg_replace("/([0-9A-Fa-f]{2})/e", "''.chr(hexdec('\\\\1')).''", '4142')),  q($x = 'AB' ;),  | 
| 
634
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:preg3',    q(a(); $x=preg_replace("/b/e", 'eval($x)', 'abc')),  q(a ( ) ; $x = 'ac' ;),  | 
| 
635
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:preg3',    q(a(); $x=preg_replace("/b/e", 'eval($x)', 'abc')),  q(a ( ) ; $x = 'a' . eval ( $x ) . 'c' ;),  | 
| 
636
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg4',      q(preg_replace('/a/', 'b', array('abc', 'aaa'))), q(array ( 0 => 'bbc' , 1 => 'bbb' ) ;),  | 
| 
637
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg5',      q(str_replace('a', 'b', array('abc', 'aaa'))), q(array ( 0 => 'bbc' , 1 => 'bbb' ) ;),  | 
| 
638
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:preg6',    q(a(); $x=preg_replace("{[b]}e", 'eval($x)', 'abc')),  q(a ( ) ; $x = 'ac' ;),  | 
| 
639
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:preg6',    q(a(); $x=preg_replace("{[b]}e", 'eval($x)', 'abc')),  q(a ( ) ; $x = 'a' . eval ( $x ) . 'c' ;),  | 
| 
640
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg7',      q($x=preg_replace("/(.*)/", 'abc', null)),  q($x = 'abc' ;),  | 
| 
641
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg8',      q($x=str_replace(array('a'),array('b'),'ab')),  q($x = 'bb' ;),  | 
| 
642
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg9',      q($x=str_repeat('x', 4)),           q($x = 'xxxx' ;),  | 
| 
643
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg10',     q($x=str_replace('O','\15','O6')),  q($x = '\\\\156' ;),  | 
| 
644
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg11',     q($x=eval(str_replace('O','\15','echo "O6";'))),  q(echo 'n' ; $x = null ; $STDOUT = 'n' ;),  | 
| 
645
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg12',     q($x=preg_split("/[\s,]+/", "aa bb, cc");),  q($x = array ( 0 => 'aa' , 1 => 'bb' , 2 => 'cc' ) ;),  | 
| 
646
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'preg13',     q(preg_replace('@(.+)@ie', 'eval("\\1");', '@eval(base64_decode("JHggPSAnYSc="));'); echo $x;), q($x = 'a' ; echo 'a' ; $STDOUT = 'a' ;),  | 
| 
647
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'pack1',      q($x=pack("nc*", 0x5678, 65, 66)),  q($x = 'VxAB' ;),  | 
| 
648
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'pack2',      q($x=pack("H*", '787a')),           q($x = 'xz' ;),  | 
| 
649
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'pack3',      q($x=unpack("c2", "\x32\x42")),     q($x = array ( 0 => '50' , 1 => '66' ) ;),  | 
| 
650
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'sprintf',    q($x=sprintf("x%d%c", 100, 65)),   q($x = 'x100A' ;),  | 
| 
651
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'def1',       q(define('DS','/'); x('a'.DS.b)),   q(define ( 'DS' , '/' ) ; x ( 'a/b' ) ;),  | 
| 
652
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'def2',       q(define('A','x'); define('A','y')),q(define ( 'A' , 'x' ) ; define ( 'A' , 'y' ) ;),  | 
| 
653
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'count',      q($a=array('1','2','3');count($a)), q($a = array ( 0 => '1' , 1 => '2' , 2 => '3' ) ; 3 ;),  | 
| 
654
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cf1',        q($x=create_function('$y', 'return $y'); $x('a')), q($x = function ( $y ) { return $y ; } 'a' ;),  | 
| 
655
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cf2',        q($x=create_function('$y', '$z = create_function(\'$a\', \'return $a\')')), q($x = function ( $y ) { $z = function ( $a ) { return $a ; } }),  | 
| 
656
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cf3',        q($a='$z = create_function(\'$y\', $a)'; $x = create_function('$z', $a)), q($a = '$z = create_function(\'$y\', $a)' ; $x = function ( $z ) { $z = create_function ( '$y' , $a ) ; }),  | 
| 
657
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cf4',        q($x=create_function('', 'return 1; } echo 2; //'); $x()), q($x = function ( ) { return 1 ; } echo 2 ; 1 ; $STDOUT = '2' ;),  | 
| 
658
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cf5',        q(create_function('', '}; echo 2; //')), q(function ( ) { } echo 2 ; $STDOUT = '2' ;),  | 
| 
659
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cf6',        q(create_function('', '}; function b() { return 1 } //')), q(function ( ) { } function b ( ) { return 1 ; }),  | 
| 
660
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cf7',        q(function a() { create_function('', '}; function b() { return 1 } //')} a()), q(function a ( ) { function ( ) { } function b ( ) { return 1 ; } } function ( ) { } function b ( ) { return 1 ; }),  | 
| 
661
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cf8',        q(function a($x) { create_function('', '}; function '.$x.'() { return 1 } //')} a('b')), q(function a ( $x ) { create_function ( '' , '}; function ' . $x . '() { return 1 } //' ) ; } function ( ) { } function b ( ) { return 1 ; }),  | 
| 
662
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'pfx1',       q($x=new a(); $y=$x),               q($x = new a ( ) ; $y = $x ;),  | 
| 
663
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'amap1',      q(function f($x){return chr(ord($x)+1)} $y=array_map('f',array('a'))), q(function f ( $x ) { return chr ( ord ( $x ) + 1 ) ; } $y = array ( 0 => 'b' ) ;),  | 
| 
664
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for',        q(for($x=1; $x<3; $x+=1) { $y=$x }),   q($y = 2 ; $x = 3 ;),  | 
| 
665
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for2',       q(for($a=1, $x=1; $x<3; $x+=1) { $y=$x }),   q($a = 1 ; $y = 2 ; $x = 3 ;),  | 
| 
666
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for3',       q(for($a='ab', $x=0; ord($a[$x]); $x++) { $y=$x }),   q($a = 'ab' ; $y = 1 ; $x = 2 ;),  | 
| 
667
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for4-unres', q(a(); $y='';for($x=1; $x<4; $x+=1) {$y.=$tag}), q(a ( ) ; $y = '' ; for ( $x = 1 ; $x < 4 ; $x = $x + 1 ) { $y = $y . $tag ; }),  | 
| 
668
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for5',       q(for($i=0;$i<2;++$i) { $d['i']=$i; $g[] = array('i'=>$i) }), q($d = array ( 'i' => 1 ) ; $g = array ( 0 => array ( 'i' => 0 ) , 1 => array ( 'i' => 1 ) ) ; $i = 2 ;),   | 
| 
669
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for6',       q(for($i=0;$i<2;++$i) { $a[]="$i"; } $a), q($a = array ( 0 => '0' , 1 => '1' ) ; $i = 2 ; array ( 0 => '0' , 1 => '1' ) ;),   | 
| 
670
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for7',       q($x='';for($i=1,$v=64; $i < 3; $i++) { $x=$x.chr($v+$i);}; $x), q($x = '' ; $v = 64 ; $x = 'AB' ; $i = 3 ; 'AB' ;),  | 
| 
671
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for8',       q(for($a='ab', $x=0; ord($a[$x++]); ) { $y=$x }), q($a = 'ab' ; $y = 2 ; $x = 3 ;),  | 
| 
672
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for9',       q(for($i=0; $i<2; $i++) { if ($i == 1) { echo 'a'; }}), q(echo 'a' ; $i = 2 ; $STDOUT = 'a' ;),  | 
| 
673
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for10',      q(for(;$x=foo();) {$y += 1}),       q(for ( ; $x = foo ( ) ; ) { $y = $y + 1 ; }),  | 
| 
674
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for11',      q(for(;$x=f();) {$y += 1;} function f() { echo 'a'; }), q(function f ( ) { echo 'a' ; } echo 'a' ; $x = null ; $STDOUT = 'a' ;),  | 
| 
675
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for12',      q(for(;$x=f();) {} function f() { echo 'a'; b(); }), q(function f ( ) { echo 'a' ; b ( ) ; } echo 'a' ; b ( ) ; $x = null ; $STDOUT = 'a' ;),  | 
| 
676
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:for13',    q(for(;$x==f();) {$x += 1;} function f() { echo 'a'; }), q(function f ( ) { echo 'a' ; } $x = 1 ; echo 'aa' ; $STDOUT = 'aa' ;),  | 
| 
677
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:for13',    q(for(;$x==f();) {$x += 1;} function f() { echo 'a'; }), q(function f ( ) { echo 'a' ; } for ( ; $x == f ( ) ; ) { $x = $x + 1 ; } $STDOUT = 'a' ;),  | 
| 
678
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while',  q($x=1; while($x<=3) $x++; $x),     q($x = 1 ; $x = 4 ; 4 ;),  | 
| 
679
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while2', q($x=1; while(1) { f(); $x++ } $x), q($x = 1 ; while ( 1 ) { f ( ) ; $x ++ ; } $x ;),  | 
| 
680
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while3', q($x=1; while(1) { if ($x > 2) break; $x++ } $x), q($x = 1 ; $x = 3 ; 3 ;),  | 
| 
681
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while4', q(while($x=foo()) {$y += 1}),       q(while ( $x = foo ( ) ) { $y = $y + 1 ; }),  | 
| 
682
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while5', q($x=1; $y=0; if ($x) while($x=DB::foo()) {$y += $x}),  q($x = 1 ; $y = 0 ; while ( $x = DB :: foo ( ) ) { $y = $y + $x ; }),  | 
| 
683
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while6', q($x=2; while(--$x) { f() } $x),    q($x = 2 ; while ( -- $x ) { f ( ) ; } $x ;),  | 
| 
684
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while7', q($x=3; while(--$x) { $a[]=$x }),   q($x = 3 ; $a = array ( 0 => 2 , 1 => 1 ) ; $x = 0 ;),  | 
| 
685
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while8', q($x=3; do { $a[]=$x } while(--$x)),q($x = 3 ; $a = array ( 0 => 3 , 1 => 2 , 2 => 1 ) ; $x = 0 ;),  | 
| 
686
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while9', q(while($x=foo()) {$y += 1}),       q(while ( $x = foo ( ) ) { $y = $y + 1 ; }),  | 
| 
687
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'for-while10',q(while(false !== ($x=foo())) {$y += 1}), q(while ( 0 !== ( $x = foo ( ) ) ) { $y = $y + 1 ; }),  | 
| 
688
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'do-while',   q($x=1; do { $x++ } while($x<=3); $x;),  q($x = 1 ; $x = 4 ; 4 ;),  | 
| 
689
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'do-while2',  q($x=1; do { $x++ } while(0); $x;),  q($x = 1 ; $x = 2 ; 2 ;),  | 
| 
690
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'do-while3',  q(do { a() } while(0);),            q(a ( ) ;),  | 
| 
691
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'do-while4',  q(do { echo 'a'; } while(f());),    q(do { echo 'a' ; } while ( f ( ) ) ; $STDOUT = 'a' ;),  | 
| 
692
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach',    q(foreach(array('a','b') as $x) $x;), q('a' ; 'b' ;),  | 
| 
693
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach2',   q($v='x'; foreach(array('a','b') as $k => ${$v}) { $x }), q($v = 'x' ; 'a' ; 'b' ;),  | 
| 
694
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach3',   q($x=$_POST; foreach($GLOBALS['x'] as $k => $v) { f() }), q($x = $_POST ; foreach ( $x as $k => $v ) { f ( ) ; }),  | 
| 
695
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach4',   q($a=array('a','b'); foreach($a as $x) { y($x) }), q($a = array ( 0 => 'a' , 1 => 'b' ) ; foreach ( array ( 0 => 'a' , 1 => 'b' ) as $x ) { y ( $x ) ; }),  | 
| 
696
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach5',   q($v='x'; foreach ($_POST as $key => $value) { ${$GLOBALS['v']} = $a }), q($v = 'x' ; foreach ( $_POST as $key => $value ) { $ { $v } = $a ; }),  | 
| 
697
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach6',   q($x=$GLOBALS; foreach($x as $k => $v) { f(); }), q($x = $GLOBALS ; foreach ( $GLOBALS as $k => $v ) { f ( ) ; }),  | 
| 
698
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach7',   q(foreach ($_POST as $v) { if(!isset($x)) { $x = $v; }}), q(foreach ( $_POST as $v ) { if ( ! isset ( $x ) ) { $x = $v ; } }),   | 
| 
699
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach8',   q(foreach ($_POST as $k => $v) { ${$x = $v}; }), q(foreach ( $_POST as $k => $v ) { $x = $v ; $ { $x } }),  | 
| 
700
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach9',   q($a=array('a','b'); foreach($a as $k => $v) { $a[$k]='x'; } $a;), q($a = array ( 0 => 'a' , 1 => 'b' ) ; $a = array ( 0 => 'x' , 1 => 'x' ) ; array ( 0 => 'x' , 1 => 'x' ) ;),  | 
| 
701
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach10',  q($a=array('a','b'); foreach($a as $k => $v) { $a[$k]='x'; echo $v; } $a;), q($a = array ( 0 => 'a' , 1 => 'b' ) ; $a = array ( 0 => 'x' , 1 => 'x' ) ; echo 'ab' ; array ( 0 => 'x' , 1 => 'x' ) ; $STDOUT = 'ab' ;),  | 
| 
702
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach11',  q($a=array('a','b'); foreach($a as $k => $v) { $a[$k]='x'; echo $v; } $a;), q($a = array ( 0 => 'a' , 1 => 'b' ) ; $a = array ( 0 => 'x' , 1 => 'x' ) ; echo 'ab' ; array ( 0 => 'x' , 1 => 'x' ) ; $STDOUT = 'ab' ;),  | 
| 
703
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach12',  q(foreach (array("a", "b") as $x) { echo $x; } echo $x;), q(echo 'ab' ; echo 'b' ; $STDOUT = 'abb' ;),  | 
| 
704
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach13',  q($a=array("a","k","v"); foreach (${$a[0]} as ${$a[1]} => ${$a[2]}) { echo "($k:$v)"; }), q($a = array ( 0 => 'a' , 1 => 'k' , 2 => 'v' ) ; echo '(0:a)(1:k)(2:v)' ; $STDOUT = '(0:a)(1:k)(2:v)' ;),  | 
| 
705
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach14',  q($a=array("a","k","v"); foreach (${$a[0]} as ${$a[1]} => ${$a[2]}) { $a[0]="x"; echo "($k:$v)"; }), q($a = array ( 0 => 'a' , 1 => 'k' , 2 => 'v' ) ; $a = array ( 0 => 'x' , 1 => 'k' , 2 => 'v' ) ; echo '(0:a)(1:k)(2:v)' ; $STDOUT = '(0:a)(1:k)(2:v)' ;),  | 
| 
706
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'foreach15',  q($a=array("a","k","v"); foreach (${$a[0]} as ${$a[1]} => ${$a[2]}) { $a[0]=$a[1]=$a[2]="x"; echo "($k:$v)"; }), q($a = array ( 0 => 'a' , 1 => 'k' , 2 => 'v' ) ; $a = array ( 0 => 'x' , 1 => 'x' , 2 => 'x' ) ; echo '(0:a)(0:a)(0:a)' ; $STDOUT = '(0:a)(0:a)(0:a)' ;),  | 
| 
707
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'n:foreach16',q(function f() { foreach ($_POST as $k => $v) { $GLOBALS['a'][0] = '3' }} f(); $a; $b), q(function f ( ) { foreach ( $_POST as $k => $v ) { $GLOBALS [ 'a' ] [ 0 ] = '3' ; } } ( function ( ) { foreach ( $_POST as $k => $v ) { $GLOBALS [ 'a' ] [ 0 ] = '3' ; } } ) ( ) ; $a ;),  | 
| 
708
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'N:foreach16',q(function f() { foreach ($_POST as $k => $v) { $GLOBALS['a'][0] = '3' }} f(); $a; $b), q(function f ( ) { foreach ( $_POST as $k => $v ) { $GLOBALS [ 'a' ] [ 0 ] = '3' ; } } ( function ( ) { foreach ( $_POST as $k => $v ) { $GLOBALS [ 'a' ] [ 0 ] = '3' ; } } ) ( ) ; $a ; $b ;),  | 
| 
709
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall1',     q(function_exists('md5')),          q(1 ;),  | 
| 
710
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall2',     q(if(!function_exists('a')){$x=1}), q($x = 1 ;),  | 
| 
711
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall3',     q(if(function_exists('md5') and f()){$x=1}), q(if ( 1 and f ( ) ) { $x = 1 ; }),  | 
| 
712
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall4',     q(function a() { } function_exists('a')), q(function a ( ) { } 1 ;),  | 
| 
713
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall5',     q(if (!function_exists('a')) { function a() { echo 'x' }}), q(function a ( ) { echo 'x' ; }),  | 
| 
714
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall6',     q(eval("if (!function_exists('a')) { function a() { echo 'x' }}")), q(function a ( ) { echo 'x' ; }),  | 
| 
715
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall7',     q(if (b()) { eval("if (!function_exists('a')) { function a() { echo 'x' }}") }), q(if ( b ( ) ) { function a ( ) { echo 'x' ; } }),  | 
| 
716
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall8',     q(if (!function_exists('a')) { eval("function a() { echo 'x' }") }), q(function a ( ) { echo 'x' ; }),  | 
| 
717
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall9',     q(function f($s) { $k=10; if($s < $k) { return $s.'b'; }), q(function f ( $s ) { $k = 10 ; if ( $s < 10 ) { return $s . 'b' ; } }),  | 
| 
718
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall10',    q(eval("function f(){ return 1;}"); f();),  q(function f ( ) { return 1 ; } 1 ;),  | 
| 
719
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall11',    q($x=1; do { f(); } while(1 > 2); function f(){ global $x; $x++;}; $x;),  q(function f ( ) { global $x ; $x ++ ; } $x = 1 ; $x = 2 ; 2 ;),  | 
| 
720
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall12',    q(function f($i) { $a=array('a','b'); return $a[$i]; } $x=a().f(1)), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } $x = a ( ) . 'b' ;),  | 
| 
721
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall13',    q(function f($i) { $a=array('a','b'); return $a[$i]; } function b() { return a().f(1); }), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } function b ( ) { return a ( ) . 'b' ; }),  | 
| 
722
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall14',    q(function f($i) { $a=array('a','b'); return $a[$i]; } function b() { echo a(f(1)); }), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } function b ( ) { echo a ( 'b' ) ; }),  | 
| 
723
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall15',    q(function f($i) { $a=array('a','b'); return $a[$i]; } $GLOBALS[f(1)] = 'd';), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } $b = 'd' ;),  | 
| 
724
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall16',    q(function f($i) { $a=array('a','b'); return $a[$i]; } $_POST[f(1)] = 'd';), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } $_POST [ 'b' ] = 'd' ;),  | 
| 
725
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall17',    q(function f($i) { $a=array('a','b'); return $a[$i]; } function b() { $m[f(1)] = 'd'; }), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } function b ( ) { $m [ 'b' ] = 'd' ; }),  | 
| 
726
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall18',    q(function f($i) { $a=array('a','b'); return $a[$i]; } switch (a()) {case f(1): $_POST [f(1)];}), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } switch ( a ( ) ) { case 'b' : $_POST [ 'b' ] ; }),  | 
| 
727
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall19',    q(function f($i) { $a=array('a','b'); return $a[$i]; } function b() { $m[f(1)] = 'd'; }), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } function b ( ) { $m [ 'b' ] = 'd' ; }),  | 
| 
728
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall20',    q(function f($i) { $a=array('a','b'); return $a[$i]; } a(); $m[f(1)] = $m[f(0)];), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } a ( ) ; $m [ 'b' ] = $m [ 'a' ] ;),  | 
| 
729
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall21',    q(function f($i) { $a=array('a','b'); return $a[$i]; } $m = array(0 => f(1));), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } $m = array ( 0 => 'b' ) ;),  | 
| 
730
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall22',    q(function f($i) { $a=array('a','b'); return $a[$i]; } function b() { $m = array(0 => f(1)); }), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } function b ( ) { $m = array ( 0 => 'b' ) ; }),  | 
| 
731
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall23',    q(function f($i) { $a=array('a','b'); return $a[$i]; } if (a(b(),f(1))) { $d = $d . f(0); }), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } if ( a ( b ( ) , 'b' ) ) { $d = $d . 'a' ; }),  | 
| 
732
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall24',    q(function f($i) { $a=array('a','b'); return $a[$i]; } foreach(range(f(0),f(1)) as $d) { if (a($d,f(1))) { $d = $d . f(0); }}), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } foreach ( array ( 0 => 'a' , 1 => 'b' ) as $d ) { if ( a ( $d , 'b' ) ) { $d = $d . 'a' ; } }),  | 
| 
733
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall25',    q(function f($i) { $a=array('a','b'); return $a[$i]; } if (a(b(),f(1))) { echo $_POST[f(0)]; }), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } if ( a ( b ( ) , 'b' ) ) { echo $_POST [ 'a' ] ; }),  | 
| 
734
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall26',    q(function f($i) { $a=array('a','b'); return $a[$i]; } if (a(b(),f(1))) { if (b(f(1))) { echo $_POST[f(0)]; }}), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } if ( a ( b ( ) , 'b' ) ) { if ( b ( 'b' ) ) { echo $_POST [ 'a' ] ; } }),  | 
| 
735
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall27',    q(function f($i) { $a=array('a','b'); return $a[$i]; } if (a(b(),f(1))) { if (b(f(1))) { d(); echo $_POST[f(0)]; }}), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } if ( a ( b ( ) , 'b' ) ) { if ( b ( 'b' ) ) { d ( ) ; echo $_POST [ 'a' ] ; } }),  | 
| 
736
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall28',    q(function f($i) { $a=array('a','b'); return $a[$i]; } function d() { if (a($d,f(1))) { if (b(f(1))) { echo $_POST[f(0)]; }}}), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } function d ( ) { if ( a ( $d , 'b' ) ) { if ( b ( 'b' ) ) { echo $_POST [ 'a' ] ; } } }),  | 
| 
737
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall29',    q(function f($i) { $a=array('a','b'); return $a[$i]; } echo $_POST[f(0)]($_POST[f(1)])), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } echo $_POST [ 'a' ] ( $_POST [ 'b' ] ) ; $STDOUT = $_POST [ 'a' ] ( $_POST [ 'b' ] ) ;),  | 
| 
738
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall30',    q(function f($i) { $a=array('a','b'); return $a[$i]; } echo $_POST[f(0)][f(1)]), q(function f ( $i ) { $a = array ( 0 => 'a' , 1 => 'b' ) ; return $a [ $i ] ; } echo $_POST [ 'a' ] [ 'b' ] ; $STDOUT = $_POST [ 'a' ] [ 'b' ] ;),  | 
| 
739
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall31',    q(if(a()) {function f() {return 1;} $x=f();}),      q(if ( a ( ) ) { function f ( ) { return 1 ; } $x = 1 ; }),  | 
| 
740
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall32',    q(function c() { function f() {return "x";} if (a()) { $x=f(); if ($_POST[$x."y"]) { echo "d"; }}}), q(function c ( ) { function f ( ) { return 'x' ; } if ( a ( ) ) { $x = 'x' ; if ( $_POST [ 'xy' ] ) { echo 'd' ; } } }),  | 
| 
741
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall33',    q(function a($x) { return 'w'; } function c($f,$t) { ($w = fopen($f, a(1))) or 1; if ($w) { fwrite($w, base64_decode($t)); fclose($w);}} c('f','Zm9v')), q(function a ( $x ) { return 'w' ; } function c ( $f , $t ) { $w = fopen ( $f , 'w' ) ; $w or 1 ; if ( $w ) { fwrite ( $w , base64_decode ( $t ) ) ; fclose ( $w ) ; } } ( function ( ) { $w = fopen ( 'f' , 'w' ) ; $w or 1 ; if ( $w ) { fwrite ( $w , 'foo' ) ; fclose ( $w ) ; } } ) ( ) ;),  | 
| 
742
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall34',    q(function f() { if (b()) { $a=array('c'); echo d($a); }), q(function f ( ) { if ( b ( ) ) { $a = array ( 0 => 'c' ) ; echo d ( array ( 0 => 'c' ) ) ; } }),  | 
| 
743
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall35',    q(function f() { if (b()) { $a=array(0=>c()); echo d($a); }), q(function f ( ) { if ( b ( ) ) { $a = array ( 0 => c ( ) ) ; echo d ( $a ) ; } }),  | 
| 
744
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall36',  q(function f() { if ($GLOBALS['c']) { echo 'a'; } else { echo 'b'; }} f();), q(function f ( ) { if ( $GLOBALS [ 'c' ] ) { echo 'a' ; } else { echo 'b' ; } } echo 'b' ; $STDOUT = 'b' ;),  | 
| 
745
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall37',  q(function f($x) { if ($GLOBALS['c']) { echo $x.'+'; } else { $GLOBALS['a']=$GLOBALS['a'].$x.'_';}} $a=''; f('d'); f('e'); $a;), q(function f ( $x ) { if ( $GLOBALS [ 'c' ] ) { echo $x . '+' ; } else { $GLOBALS [ 'a' ] = $GLOBALS [ 'a' ] . $x . '_' ; } } $a = '' ; $a = 'd_' ; $a = 'd_e_' ; 'd_e_' ;),  | 
| 
746
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall38',  q(function f($x) { if ($GLOBALS['c']) { echo $x.'+'; } else { $GLOBALS['a']=$GLOBALS['a'].$x.'_';}} $a=''; f('d'); $c=1; f('e'); f('f'); $a;), q(function f ( $x ) { if ( $GLOBALS [ 'c' ] ) { echo $x . '+' ; } else { $GLOBALS [ 'a' ] = $GLOBALS [ 'a' ] . $x . '_' ; } } $a = '' ; $a = 'd_' ; $c = 1 ; echo 'e+' ; echo 'f+' ; 'd_' ; $STDOUT = 'e+f+' ;),  | 
| 
747
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall39',    q(function f($i) { $a=array('a'); return $a[$i]; } function g() { class c { var $a; function c($a) { $this->a=$a; }} $x = new c($_POST[f(0)]);}), q(function f ( $i ) { $a = array ( 0 => 'a' ) ; return $a [ $i ] ; } function g ( ) { class c { var $a ; function c ( $a ) { $this -> a = $a ; } } $__c___construct = function ( ) { $this -> a = $_POST [ 'a' ] ; } $x = new c ( $_POST [ 'a' ] ) ; }),  | 
| 
748
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall40',    q(function f($x) { return a($x); } f($_POST['a']);), q(function f ( $x ) { return a ( $x ) ; } a ( $_POST [ 'a' ] ) ;),  | 
| 
749
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall41',    q(function f($x) { return a($x); } f(b());), q(function f ( $x ) { return a ( $x ) ; } a ( b ( ) ) ;),  | 
| 
750
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall42',    q($v='1'; function f($x) { $c=$GLOBALS['v']; return a($c,$x); } function g() { if(b(f(3))) { $r=f(7); }), q(function f ( $x ) { $c = $GLOBALS [ 'v' ] ; return a ( $GLOBALS [ 'v' ] , $x ) ; } function g ( ) { if ( b ( a ( $GLOBALS [ 'v' ] , 3 ) ) ) { $r = a ( $GLOBALS [ 'v' ] , 7 ) ; } } $v = '1' ;),  | 
| 
751
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall43',    q(function f() { $x=1; echo 'a'; } f();), q(function f ( ) { $x = 1 ; echo 'a' ; } echo 'a' ; $STDOUT = 'a' ;),  | 
| 
752
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall44',    q(function f() { $x=z(); echo 'a'; } f();), q(function f ( ) { $x = z ( ) ; echo 'a' ; } z ( ) ; echo 'a' ; $STDOUT = 'a' ;),  | 
| 
753
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall45',    q(function f($x) { $a[0][0]='a'; echo $a[$x][$x]; } f(0);), q(function f ( $x ) { $a [ 0 ] [ 0 ] = 'a' ; echo $a [ $x ] [ $x ] ; } echo 'a' ; $STDOUT = 'a' ;),  | 
| 
754
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall46',    q(function f($x) { $r='1'.$x; return $r; } f($_POST['c']);), q(function f ( $x ) { $r = '1' . $x ; return $r ; } '1' . $_POST [ 'c' ] ;),  | 
| 
755
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall47',    q(function f($k,$v) { $_COOKIE[$k]=$v; setcookie($k, $v); }; f('a', $_POST['a']);), q(function f ( $k , $v ) { $_COOKIE [ $k ] = $v ; setcookie ( $k , $v ) ; } $_COOKIE [ 'a' ] = $_POST [ 'a' ] ; setcookie ( 'a' , $_POST [ 'a' ] ) ;),  | 
| 
756
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcall48',    q(function f($x) { if($x) { return 1; } return $x; } f(${$_POST['c']});), q(function f ( $x ) { if ( $x ) { return 1 ; } return $x ; } f ( $ { $_POST [ 'c' ] } ) ;),  | 
| 
757
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	 # in PHP only one global scope exists for function declarations  | 
| 
758
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcallglob',  q(function a() { function b() { } } function_exists('b')), q(function a ( ) { function b ( ) { } } 0 ;),  | 
| 
759
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'fcallglob2', q(function a() { function b() { } } a(); function_exists('b')), q(function a ( ) { function b ( ) { } } function b ( ) { } 1 ;),  | 
| 
760
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'line1',      "\$x=__LINE__;\n\$y=__LINE__",      q($x = 1 ; $y = 2 ;),  | 
| 
761
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'line2',      "\$x=eval(\$a());\nfunction \$a() { return '__LINE__' }; \$y=__LINE__", q(function $a ( ) { return '__LINE__' ; } 1 ; $x = null ; $y = 2 ;),  | 
| 
762
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assert',     q(assert(eval('foo'))),             q('foo' ;),  | 
| 
763
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assert2',    q(assert(base64_decode('Zm9vYg=='))),  q('foob' ;),  | 
| 
764
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assert3',    q($a='base64_decode'; assert($a('Zm9vYg=='))),  q($a = 'base64_decode' ; 'foob' ;),  | 
| 
765
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'assert4',    q(assert("eval('foo')")),           q('foo' ;),  | 
| 
766
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unicode',    "\${\"H\x{00FC}\"} = 1",            "\$H\x{00FC} = 1 ;",  | 
| 
767
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unicode2',   "\$s=\"\xe2\x9c\x89\"; \$e=base64_encode(\$s)", "\$s = '\xe2\x9c\x89' ; \$e = '4pyJ' ;",  | 
| 
768
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'unicode3',   q($s='4pyJ'; $e=base64_decode($s)), "\$s = '4pyJ' ; \$e = '\xe2\x9c\x89' ;",  | 
| 
769
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cast',       q((int)'2'),                        q(2 ;),  | 
| 
770
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'cast2',      q((string)2),                       q('2' ;),  | 
| 
771
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'const1',     q($x=intval('TEST');),              q($x = 0 ;),  | 
| 
772
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'const2',     q($x=0
 | 
| 
773
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'const3',     q($x=0<=TEST;),                     q($x = 1 ;),  | 
| 
774
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'const4',     q($x=TEST<0;),                      q($x = 0 ;),  | 
| 
775
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'const5',     q($x=TEST<1;),                      q($x = 1 ;),  | 
| 
776
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'const6',     q(for($i=0; $i
 | 
| 
777
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'const7',     q(function f() { for($i=0; $i
 | 
| 
778
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'const8',     q(const A=1; echo A;),              q(const A = 1 ; echo 1 ; $STDOUT = '1' ;),  | 
| 
779
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'magic1',     q(function f() { echo __FUNCTION__; } f();),  q(function f ( ) { echo 'f' ; } echo 'f' ; $STDOUT = 'f' ;),  | 
| 
780
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'magic2',     q(class c { function f() { echo __METHOD__; }} c::f();),  q(class c { function f ( ) { echo 'c::f' ; } } echo 'c::f' ; $STDOUT = 'c::f' ;),  | 
| 
781
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'magic3',     q(echo __DIR__;),                   q(echo __DIR__ ; $STDOUT = __DIR__ ;),  | 
| 
782
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'magic4',     q(class C { function F() { echo __CLASS__, ',', __METHOD__, ',',__FUNCTION__; }} c::f();),  q(class C { function F ( ) { echo 'C,C::F,F' ; } } echo 'C,C::F,F' ; $STDOUT = 'C,C::F,F' ;),  | 
| 
783
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'ob1',        q(function a($x) { echo 'b' } ob_start('a'); echo 'c';), q(function a ( $x ) { echo 'b' ; } $ob_a = function ( $x ) { echo 'b' ; } echo 'c' ; $ob_a ( 'c' ) ;),  | 
| 
784
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'bin2hex',    q(bin2hex('12345foo');),            q('3132333435666f6f' ;),  | 
| 
785
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'hex2bin',    q(hex2bin('3132333435666f6f');),    q('12345foo' ;),  | 
| 
786
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'crc32',      q(crc32('test');),                  q(3632233996 ;),  | 
| 
787
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'crca',       q(hash('crc32', 'test');),          q('accf8b33' ;),  | 
| 
788
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'crcb',       q(hash('crc32b', 'test');),         q('d87f7e0c' ;),  | 
| 
789
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'crcb-2',     q(bin2hex(hash('crc32b', 'test', 1));), q('d87f7e0c' ;),  | 
| 
790
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'sha1',       q(sha1('12345');),                  q('8cb2237d0679ca88db6464eac60da96345513964' ;),  | 
| 
791
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'sha1-2',     q(hash('sha1', '12345');),          q('8cb2237d0679ca88db6464eac60da96345513964' ;),  | 
| 
792
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'md5',        q(md5('test');),                    q('098f6bcd4621d373cade4e832627b4f6' ;),  | 
| 
793
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'md5-2',      q(hash('md5', 'test');),            q('098f6bcd4621d373cade4e832627b4f6' ;),  | 
| 
794
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'md5-3',      q(bin2hex(hash('md5', 'test', 1));), q('098f6bcd4621d373cade4e832627b4f6' ;),  | 
| 
795
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'implode1',   q($a=implode(' ',array('a','b'))),  q($a = 'a b' ;),  | 
| 
796
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'implode2',   q($a=implode(array('a','b'), ' ')), q($a = 'a b' ;),  | 
| 
797
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'range1',     q($a=range('a','b');),              q($a = array ( 0 => 'a' , 1 => 'b' ) ;),  | 
| 
798
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'range2',     q($a=range("\0","\x01");),          q($a = array )."( 0 => '\x00' , 1 => '\x01' ) ;",  | 
| 
799
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'exec1',      q(function f($a) { for($i=1; $i<10; $i++) { $b.=$a; } return $b;} $x=f('a');), q(function f ( $a ) { for ( $i = 1 ; $i < 10 ; $i ++ ) { $b = $b . $a ; } return $b ; } $x = 'aaaaaaaaa' ;),  | 
| 
800
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'exec2',      q(function f($a) { for($i=0; $i 'a' , 1 => 'a' ) ;),  | 
| 
801
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'exec2',      q(function f($a) { for($i=0; $i 'a' , 1 => 'a' ) ;),  | 
| 
802
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'exec3',      q(function f($a) { $o=256; $p=8; $b=array(); $l=0; $v=0; for ($i=0 ; $i < strlen($a) ; $i++) { $l=($l<<8)+ord($a[$i]); $v += 8; if ($v >= $p) { $v -= $p; $b[] = $l>>$v; $l=$l&((1<<$v)-1); $o++; if ($o >> $p) { $p++; }}}}), q(function f ( $a ) { $o = 256 ; $p = 8 ; $b = array ( ) ; $l = 0 ; $v = 0 ; for ( $i = 0 ; $i < strlen ( $a ) ; $i ++ ) { $l = ( $l << 8 ) + ord ( $a [ $i ] ) ; $v = $v + 8 ; if ( $v >= $p ) { $v = $v - $p ; $b [ ] = $l >> $v ; $l = $l & ( ( 1 << $v ) - 1 ) ; $o ++ ; if ( $o >> $p ) { $p ++ ; } } } }),  | 
| 
803
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'G:getenv',   q(getenv('REQUEST_METHOD')),        q('POST' ;),  | 
| 
804
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'G:getenv2',  q($_ENV['REQUEST_METHOD']),         q('POST' ;),  | 
| 
805
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 	'G:getenv3',  q(function f() { $GLOBALS['x'] = $_SERVER['REQUEST_METHOD']; } f(); $x;), q(function f ( ) { $GLOBALS [ 'x' ] = $_SERVER [ 'REQUEST_METHOD' ] ; } $x = 'POST' ; 'POST' ;),  | 
| 
806
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 );  | 
| 
807
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
808
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 1;  | 
| 
809
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
810
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 __END__  |