isset.test 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. UVS isset() on temporaries
  2. -----
  3. <?php
  4. isset(([0, 1] + [])[0]);
  5. isset(['a' => 'b']->a);
  6. isset("str"->a);
  7. -----
  8. array(
  9. 0: Stmt_Expression(
  10. expr: Expr_Isset(
  11. vars: array(
  12. 0: Expr_ArrayDimFetch(
  13. var: Expr_BinaryOp_Plus(
  14. left: Expr_Array(
  15. items: array(
  16. 0: ArrayItem(
  17. key: null
  18. value: Scalar_Int(
  19. value: 0
  20. )
  21. byRef: false
  22. unpack: false
  23. )
  24. 1: ArrayItem(
  25. key: null
  26. value: Scalar_Int(
  27. value: 1
  28. )
  29. byRef: false
  30. unpack: false
  31. )
  32. )
  33. )
  34. right: Expr_Array(
  35. items: array(
  36. )
  37. )
  38. )
  39. dim: Scalar_Int(
  40. value: 0
  41. )
  42. )
  43. )
  44. )
  45. )
  46. 1: Stmt_Expression(
  47. expr: Expr_Isset(
  48. vars: array(
  49. 0: Expr_PropertyFetch(
  50. var: Expr_Array(
  51. items: array(
  52. 0: ArrayItem(
  53. key: Scalar_String(
  54. value: a
  55. )
  56. value: Scalar_String(
  57. value: b
  58. )
  59. byRef: false
  60. unpack: false
  61. )
  62. )
  63. )
  64. name: Identifier(
  65. name: a
  66. )
  67. )
  68. )
  69. )
  70. )
  71. 2: Stmt_Expression(
  72. expr: Expr_Isset(
  73. vars: array(
  74. 0: Expr_PropertyFetch(
  75. var: Scalar_String(
  76. value: str
  77. )
  78. name: Identifier(
  79. name: a
  80. )
  81. )
  82. )
  83. )
  84. )
  85. )