菜谱项目

isset.test 2.0KB

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