Return to engine_assignExecutionOrder_004.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang |
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: }