1--TEST-- 2Constant Expressions 3--FILE-- 4<?php 5const T_1 = 1 << 1; 6const T_2 = 1 / 2; 7const T_3 = 1.5 + 1.5; 8const T_4 = "foo" . "bar"; 9const T_5 = (1.5 + 1.5) * 2; 10const T_6 = "foo" . 2 . 3 . 4.0; 11const T_7 = __LINE__; 12const T_8 = <<<ENDOFSTRING 13This is a test string 14ENDOFSTRING; 15const T_9 = ~-1; 16const T_10 = (-1?:1) + (0?2:3); 17const T_11 = 1 && 0; 18const T_12 = 1 and 1; 19const T_13 = 0 || 0; 20const T_14 = 1 or 0; 21const T_15 = 1 xor 1; 22const T_16 = 1 xor 0; 23const T_17 = 1 < 0; 24const T_18 = 0 <= 0; 25const T_19 = 1 > 0; 26const T_20 = 1 >= 0; 27const T_21 = 1 === 1; 28const T_22 = 1 !== 1; 29const T_23 = 0 != "0"; 30const T_24 = 1 == "1"; 31 32// Test order of operations 33const T_25 = 1 + 2 * 3; 34 35// Test for memory leaks 36const T_26 = "1" + 2 + "3"; 37 38// Allow T_POW 39const T_27 = 2 ** 3; 40 41var_dump(T_1); 42var_dump(T_2); 43var_dump(T_3); 44var_dump(T_4); 45var_dump(T_5); 46var_dump(T_6); 47var_dump(T_7); 48var_dump(T_8); 49var_dump(T_9); 50var_dump(T_10); 51var_dump(T_11); 52var_dump(T_12); 53var_dump(T_13); 54var_dump(T_14); 55var_dump(T_15); 56var_dump(T_16); 57var_dump(T_17); 58var_dump(T_18); 59var_dump(T_19); 60var_dump(T_20); 61var_dump(T_21); 62var_dump(T_22); 63var_dump(T_23); 64var_dump(T_24); 65var_dump(T_25); 66var_dump(T_26); 67var_dump(T_27); 68?> 69--EXPECT-- 70int(2) 71float(0.5) 72float(3) 73string(6) "foobar" 74float(6) 75string(6) "foo234" 76int(8) 77string(21) "This is a test string" 78int(0) 79int(2) 80bool(false) 81bool(true) 82bool(false) 83bool(true) 84bool(false) 85bool(true) 86bool(false) 87bool(true) 88bool(true) 89bool(true) 90bool(true) 91bool(false) 92bool(false) 93bool(true) 94int(7) 95int(6) 96int(8) 97