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>