global statement removal: hphp/test/zend [2/x]
[hiphop-php.git] / hphp / test / zend / good / tests / lang / execution_order.php
blob16a77548f634885d6f25f9c074ed09f1c85c7a50
1 <?php
3 /* strings and concat */
5 class strclass {
6 var $str = "bad";
7 static $statstr = "bad";
10 $a = "bad";
11 $b = "good";
12 echo "1)";
13 $c = $a.($a=$b);
14 echo $c;
15 echo "\r\n";
17 $a = "bad";
18 $b = "good";
19 $c = ($a=$b).$a;
20 echo "2)";
21 echo $c;
22 echo "\r\n";
25 $str = new strclass();
26 $c = $str->str.($str->str="good");
27 echo "3)";
28 echo $c;
29 echo "\r\n";
31 $str->str = "bad";
33 $c = ($str->str="good").$str->str;
34 echo "4)";
35 echo $c;
36 echo "\r\n";
38 $c = strclass::$statstr.(strclass::$statstr="good");
39 echo "5)";
40 echo $c;
41 echo "\r\n";
43 strclass::$statstr = "bad";
45 $c = (strclass::$statstr="good").strclass::$statstr;
46 echo "6)";
47 echo $c;
48 echo "\r\n";
51 function foo() {
52 $GLOBALS['a'] = 'good';
53 return $GLOBALS['a'];
57 $a = "bad";
58 echo "7)";
59 echo foo() . $a;
60 echo "\r\n";
62 $a = "bad";
63 echo "8)";
64 echo $a . foo();
65 echo "\r\n";
67 /* other operators */
69 $x = 1;
70 $z = $x - ($x++);
71 echo "9)";
72 echo $z;
73 echo "\r\n";
75 $x = 1;
76 $z = ($x++) - $x;
77 echo "10)";
78 echo $z;
79 echo "\r\n";
81 $x = 1;
82 $z = $x - (++$x);
83 echo "11)";
84 echo $z;
85 echo "\r\n";
87 $x = 1;
88 $z = (++$x) - $x;
89 echo "12)";
90 echo $z;
91 echo "\r\n";
94 $x = 1;
95 $y = 3;
96 $z = $x - ($x=$y);
97 echo "13)";
98 echo $z;
99 echo "\r\n";
101 $x = 1;
102 $y = 3;
103 $z = ($x=$y) - $x;
104 echo "14)";
105 echo $z;
106 echo "\r\n";
109 $a = 100;
110 $b = 200;
111 echo "15)";
112 echo $a + ($a=$b);
113 echo "\r\n";
115 $a = 100;
116 $b = 200;
117 echo "16)";
118 echo ($a=$b) + $a;
119 echo "\r\n";
122 $a = array(100,200);
123 $i = 0;
125 echo "17)";
126 echo $a[$i++] + $a[$i++];
127 echo "\r\n";
129 $i = -1;
130 echo "18)";
131 echo $a[++$i] + $a[++$i];
132 echo "\r\n";
134 $i = 0;
135 echo "19)";
136 echo $a[$i] + ($a[$i]=400);
137 echo "\r\n";
140 $a[0] = 100;
141 echo "20)";
142 echo ($a[$i]=400) + $a[$i];
143 echo "\r\n";
146 class c {
147 var $val = 10;
148 static $stat = 20;
151 echo "21)";
152 echo c::$stat + (c::$stat=200);
153 echo "\r\n";
155 echo "22)";
156 echo (c::$stat=300) + c::$stat;
157 echo "\r\n";
159 $c = new c();
161 echo "23)";
162 echo $c->val + ($c->val=200);
163 echo "\r\n";
165 echo "24)";
166 echo ($c->val=300) + $c->val;
167 echo "\r\n";