File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
tests /
lang /
engine_assignExecutionOrder_006.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: Evaluation order during assignments.
3: --FILE--
4: <?php
5:
6: function i1() {
7: echo "i1\n";
8: return 0;
9: }
10:
11: function i2() {
12: echo "i2\n";
13: return 0;
14: }
15:
16: function i3() {
17: echo "i3\n";
18: return 0;
19: }
20:
21: function i4() {
22: echo "i4\n";
23: return 0;
24: }
25:
26: function i5() {
27: echo "i5\n";
28: return 0;
29: }
30:
31: function i6() {
32: echo "i6\n";
33: return 0;
34: }
35:
36: $a = array(array(0));
37: $b = array(array(1));
38: $c = array(array(2));
39:
40: $a[i1()][i2()] = ($b[i3()][i4()] = $c[i5()][i6()]);
41: var_dump($a);
42: var_dump($b);
43: var_dump($c);
44:
45: $a[i1()][i2()] = $b[i3()][i4()] = -$c[i5()][i6()];
46: var_dump($a);
47: var_dump($b);
48: var_dump($c);
49:
50: $a[i1()][i2()] = -($b[i3()][i4()] = +($c[i5()][i6()]));
51: var_dump($a);
52: var_dump($b);
53: var_dump($c);
54:
55:
56: ?>
57: --EXPECT--
58: i1
59: i2
60: i3
61: i4
62: i5
63: i6
64: array(1) {
65: [0]=>
66: array(1) {
67: [0]=>
68: int(2)
69: }
70: }
71: array(1) {
72: [0]=>
73: array(1) {
74: [0]=>
75: int(2)
76: }
77: }
78: array(1) {
79: [0]=>
80: array(1) {
81: [0]=>
82: int(2)
83: }
84: }
85: i1
86: i2
87: i3
88: i4
89: i5
90: i6
91: array(1) {
92: [0]=>
93: array(1) {
94: [0]=>
95: int(-2)
96: }
97: }
98: array(1) {
99: [0]=>
100: array(1) {
101: [0]=>
102: int(-2)
103: }
104: }
105: array(1) {
106: [0]=>
107: array(1) {
108: [0]=>
109: int(2)
110: }
111: }
112: i1
113: i2
114: i3
115: i4
116: i5
117: i6
118: array(1) {
119: [0]=>
120: array(1) {
121: [0]=>
122: int(-2)
123: }
124: }
125: array(1) {
126: [0]=>
127: array(1) {
128: [0]=>
129: int(2)
130: }
131: }
132: array(1) {
133: [0]=>
134: array(1) {
135: [0]=>
136: int(2)
137: }
138: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>