Annotation of embedaddon/php/tests/lang/engine_assignExecutionOrder_004.phpt, revision 1.1
1.1 ! misho 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>