concatPrecedence.test 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. Precedence of concatenation in PHP 7 and PHP 8
  2. -----
  3. <?php
  4. 1 + 2 . 3 + 4;
  5. 1 << 2 . 3 << 4;
  6. -----
  7. !!version=8.0
  8. array(
  9. 0: Stmt_Expression(
  10. expr: Expr_BinaryOp_Concat(
  11. left: Expr_BinaryOp_Plus(
  12. left: Scalar_Int(
  13. value: 1
  14. )
  15. right: Scalar_Int(
  16. value: 2
  17. )
  18. )
  19. right: Expr_BinaryOp_Plus(
  20. left: Scalar_Int(
  21. value: 3
  22. )
  23. right: Scalar_Int(
  24. value: 4
  25. )
  26. )
  27. )
  28. )
  29. 1: Stmt_Expression(
  30. expr: Expr_BinaryOp_Concat(
  31. left: Expr_BinaryOp_ShiftLeft(
  32. left: Scalar_Int(
  33. value: 1
  34. )
  35. right: Scalar_Int(
  36. value: 2
  37. )
  38. )
  39. right: Expr_BinaryOp_ShiftLeft(
  40. left: Scalar_Int(
  41. value: 3
  42. )
  43. right: Scalar_Int(
  44. value: 4
  45. )
  46. )
  47. )
  48. )
  49. )
  50. -----
  51. <?php
  52. 1 + 2 . 3 + 4;
  53. 1 << 2 . 3 << 4;
  54. -----
  55. !!version=7.4
  56. array(
  57. 0: Stmt_Expression(
  58. expr: Expr_BinaryOp_Plus(
  59. left: Expr_BinaryOp_Concat(
  60. left: Expr_BinaryOp_Plus(
  61. left: Scalar_Int(
  62. value: 1
  63. )
  64. right: Scalar_Int(
  65. value: 2
  66. )
  67. )
  68. right: Scalar_Int(
  69. value: 3
  70. )
  71. )
  72. right: Scalar_Int(
  73. value: 4
  74. )
  75. )
  76. )
  77. 1: Stmt_Expression(
  78. expr: Expr_BinaryOp_ShiftLeft(
  79. left: Expr_BinaryOp_ShiftLeft(
  80. left: Scalar_Int(
  81. value: 1
  82. )
  83. right: Expr_BinaryOp_Concat(
  84. left: Scalar_Int(
  85. value: 2
  86. )
  87. right: Scalar_Int(
  88. value: 3
  89. )
  90. )
  91. )
  92. right: Scalar_Int(
  93. value: 4
  94. )
  95. )
  96. )
  97. )