File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
tests /
lang /
engine_assignExecutionOrder_004.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, 5 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 1;
9: }
10:
11: function i2() {
12: echo "i2\n";
13: return 1;
14: }
15:
16: function i3() {
17: echo "i3\n";
18: return 3;
19: }
20:
21: function i4() {
22: global $a;
23: $a = array(10, 11, 12, 13, 14);
24: echo "i4\n";
25: return 4;
26: }
27:
28: $a = 0; // $a should not be indexable till the i4 has been executed
29: list($a[i1()+i2()], , list($a[i3()], $a[i4()]), $a[]) = array (0, 1, array(30, 40), 3, 4);
30:
31: var_dump($a);
32:
33: ?>
34: --EXPECT--
35: i1
36: i2
37: i3
38: i4
39: array(6) {
40: [0]=>
41: int(10)
42: [1]=>
43: int(11)
44: [2]=>
45: int(0)
46: [3]=>
47: int(30)
48: [4]=>
49: int(40)
50: [5]=>
51: int(3)
52: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>