Annotation of embedaddon/php/tests/lang/engine_assignExecutionOrder_006.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 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>