File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
tests /
lang /
execution_order.phpt
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 6 months ago) by
misho
Branches:
php,
MAIN
CVS tags:
v5_4_3elwix,
v5_4_29p0,
v5_4_29,
v5_4_20p0,
v5_4_20,
v5_4_17p0,
v5_4_17,
v5_3_10,
HEAD
php
1: --TEST--
2: Execution order of variables
3: --FILE--
4: <?php
5:
6: /* strings and concat */
7:
8: class strclass {
9: var $str = "bad";
10: static $statstr = "bad";
11: }
12:
13: $a = "bad";
14: $b = "good";
15: echo "1)";
16: $c = $a.($a=$b);
17: echo $c;
18: echo "\r\n";
19:
20: $a = "bad";
21: $b = "good";
22: $c = ($a=$b).$a;
23: echo "2)";
24: echo $c;
25: echo "\r\n";
26:
27:
28: $str = new strclass();
29: $c = $str->str.($str->str="good");
30: echo "3)";
31: echo $c;
32: echo "\r\n";
33:
34: $str->str = "bad";
35:
36: $c = ($str->str="good").$str->str;
37: echo "4)";
38: echo $c;
39: echo "\r\n";
40:
41: $c = strclass::$statstr.(strclass::$statstr="good");
42: echo "5)";
43: echo $c;
44: echo "\r\n";
45:
46: strclass::$statstr = "bad";
47:
48: $c = (strclass::$statstr="good").strclass::$statstr;
49: echo "6)";
50: echo $c;
51: echo "\r\n";
52:
53:
54: function foo() {
55: global $a;
56: $a = "good";
57: return $a;
58: }
59:
60:
61: $a = "bad";
62: echo "7)";
63: echo foo() . $a;
64: echo "\r\n";
65:
66: $a = "bad";
67: echo "8)";
68: echo $a . foo();
69: echo "\r\n";
70:
71: /* other operators */
72:
73: $x = 1;
74: $z = $x - ($x++);
75: echo "9)";
76: echo $z;
77: echo "\r\n";
78:
79: $x = 1;
80: $z = ($x++) - $x;
81: echo "10)";
82: echo $z;
83: echo "\r\n";
84:
85: $x = 1;
86: $z = $x - (++$x);
87: echo "11)";
88: echo $z;
89: echo "\r\n";
90:
91: $x = 1;
92: $z = (++$x) - $x;
93: echo "12)";
94: echo $z;
95: echo "\r\n";
96:
97:
98: $x = 1;
99: $y = 3;
100: $z = $x - ($x=$y);
101: echo "13)";
102: echo $z;
103: echo "\r\n";
104:
105: $x = 1;
106: $y = 3;
107: $z = ($x=$y) - $x;
108: echo "14)";
109: echo $z;
110: echo "\r\n";
111:
112:
113: $a = 100;
114: $b = 200;
115: echo "15)";
116: echo $a + ($a=$b);
117: echo "\r\n";
118:
119: $a = 100;
120: $b = 200;
121: echo "16)";
122: echo ($a=$b) + $a;
123: echo "\r\n";
124:
125:
126: $a = array(100,200);
127: $i = 0;
128:
129: echo "17)";
130: echo $a[$i++] + $a[$i++];
131: echo "\r\n";
132:
133: $i = -1;
134: echo "18)";
135: echo $a[++$i] + $a[++$i];
136: echo "\r\n";
137:
138: $i = 0;
139: echo "19)";
140: echo $a[$i] + ($a[$i]=400);
141: echo "\r\n";
142:
143:
144: $a[0] = 100;
145: echo "20)";
146: echo ($a[$i]=400) + $a[$i];
147: echo "\r\n";
148:
149:
150: class c {
151: var $val = 10;
152: static $stat = 20;
153: }
154:
155: echo "21)";
156: echo c::$stat + (c::$stat=200);
157: echo "\r\n";
158:
159: echo "22)";
160: echo (c::$stat=300) + c::$stat;
161: echo "\r\n";
162:
163: $c = new c();
164:
165: echo "23)";
166: echo $c->val + ($c->val=200);
167: echo "\r\n";
168:
169: echo "24)";
170: echo ($c->val=300) + $c->val;
171: echo "\r\n";
172:
173: ?>
174: --EXPECT--
175: 1)goodgood
176: 2)goodgood
177: 3)badgood
178: 4)goodgood
179: 5)badgood
180: 6)goodgood
181: 7)goodgood
182: 8)goodgood
183: 9)1
184: 10)-1
185: 11)0
186: 12)0
187: 13)0
188: 14)0
189: 15)400
190: 16)400
191: 17)300
192: 18)300
193: 19)500
194: 20)800
195: 21)220
196: 22)600
197: 23)210
198: 24)600
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>