Return to execution_order.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / lang |
1.1 ! misho 1: --TEST-- ! 2: Execution order of variables ! 3: --FILE-- ! 4: <?php ! 5: ! 6: /* strings and concat */ ! 7: ! 8: class strclass { ! 9: var $str = "bad"; ! 10: static $statstr = "bad"; ! 11: } ! 12: ! 13: $a = "bad"; ! 14: $b = "good"; ! 15: echo "1)"; ! 16: $c = $a.($a=$b); ! 17: echo $c; ! 18: echo "\r\n"; ! 19: ! 20: $a = "bad"; ! 21: $b = "good"; ! 22: $c = ($a=$b).$a; ! 23: echo "2)"; ! 24: echo $c; ! 25: echo "\r\n"; ! 26: ! 27: ! 28: $str = new strclass(); ! 29: $c = $str->str.($str->str="good"); ! 30: echo "3)"; ! 31: echo $c; ! 32: echo "\r\n"; ! 33: ! 34: $str->str = "bad"; ! 35: ! 36: $c = ($str->str="good").$str->str; ! 37: echo "4)"; ! 38: echo $c; ! 39: echo "\r\n"; ! 40: ! 41: $c = strclass::$statstr.(strclass::$statstr="good"); ! 42: echo "5)"; ! 43: echo $c; ! 44: echo "\r\n"; ! 45: ! 46: strclass::$statstr = "bad"; ! 47: ! 48: $c = (strclass::$statstr="good").strclass::$statstr; ! 49: echo "6)"; ! 50: echo $c; ! 51: echo "\r\n"; ! 52: ! 53: ! 54: function foo() { ! 55: global $a; ! 56: $a = "good"; ! 57: return $a; ! 58: } ! 59: ! 60: ! 61: $a = "bad"; ! 62: echo "7)"; ! 63: echo foo() . $a; ! 64: echo "\r\n"; ! 65: ! 66: $a = "bad"; ! 67: echo "8)"; ! 68: echo $a . foo(); ! 69: echo "\r\n"; ! 70: ! 71: /* other operators */ ! 72: ! 73: $x = 1; ! 74: $z = $x - ($x++); ! 75: echo "9)"; ! 76: echo $z; ! 77: echo "\r\n"; ! 78: ! 79: $x = 1; ! 80: $z = ($x++) - $x; ! 81: echo "10)"; ! 82: echo $z; ! 83: echo "\r\n"; ! 84: ! 85: $x = 1; ! 86: $z = $x - (++$x); ! 87: echo "11)"; ! 88: echo $z; ! 89: echo "\r\n"; ! 90: ! 91: $x = 1; ! 92: $z = (++$x) - $x; ! 93: echo "12)"; ! 94: echo $z; ! 95: echo "\r\n"; ! 96: ! 97: ! 98: $x = 1; ! 99: $y = 3; ! 100: $z = $x - ($x=$y); ! 101: echo "13)"; ! 102: echo $z; ! 103: echo "\r\n"; ! 104: ! 105: $x = 1; ! 106: $y = 3; ! 107: $z = ($x=$y) - $x; ! 108: echo "14)"; ! 109: echo $z; ! 110: echo "\r\n"; ! 111: ! 112: ! 113: $a = 100; ! 114: $b = 200; ! 115: echo "15)"; ! 116: echo $a + ($a=$b); ! 117: echo "\r\n"; ! 118: ! 119: $a = 100; ! 120: $b = 200; ! 121: echo "16)"; ! 122: echo ($a=$b) + $a; ! 123: echo "\r\n"; ! 124: ! 125: ! 126: $a = array(100,200); ! 127: $i = 0; ! 128: ! 129: echo "17)"; ! 130: echo $a[$i++] + $a[$i++]; ! 131: echo "\r\n"; ! 132: ! 133: $i = -1; ! 134: echo "18)"; ! 135: echo $a[++$i] + $a[++$i]; ! 136: echo "\r\n"; ! 137: ! 138: $i = 0; ! 139: echo "19)"; ! 140: echo $a[$i] + ($a[$i]=400); ! 141: echo "\r\n"; ! 142: ! 143: ! 144: $a[0] = 100; ! 145: echo "20)"; ! 146: echo ($a[$i]=400) + $a[$i]; ! 147: echo "\r\n"; ! 148: ! 149: ! 150: class c { ! 151: var $val = 10; ! 152: static $stat = 20; ! 153: } ! 154: ! 155: echo "21)"; ! 156: echo c::$stat + (c::$stat=200); ! 157: echo "\r\n"; ! 158: ! 159: echo "22)"; ! 160: echo (c::$stat=300) + c::$stat; ! 161: echo "\r\n"; ! 162: ! 163: $c = new c(); ! 164: ! 165: echo "23)"; ! 166: echo $c->val + ($c->val=200); ! 167: echo "\r\n"; ! 168: ! 169: echo "24)"; ! 170: echo ($c->val=300) + $c->val; ! 171: echo "\r\n"; ! 172: ! 173: ?> ! 174: --EXPECT-- ! 175: 1)goodgood ! 176: 2)goodgood ! 177: 3)badgood ! 178: 4)goodgood ! 179: 5)badgood ! 180: 6)goodgood ! 181: 7)goodgood ! 182: 8)goodgood ! 183: 9)1 ! 184: 10)-1 ! 185: 11)0 ! 186: 12)0 ! 187: 13)0 ! 188: 14)0 ! 189: 15)400 ! 190: 16)400 ! 191: 17)300 ! 192: 18)300 ! 193: 19)500 ! 194: 20)800 ! 195: 21)220 ! 196: 22)600 ! 197: 23)210 ! 198: 24)600