constant_expressions.phpt 1.5 KB

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