static_variation_001.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. --TEST--
  2. Statics in nested functions & evals.
  3. --FILE--
  4. <?php
  5. static $a = array(7,8,9);
  6. function f1() {
  7. static $a = array(1,2,3);
  8. function g1() {
  9. static $a = array(4,5,6);
  10. var_dump($a);
  11. }
  12. var_dump($a);
  13. }
  14. f1();
  15. g1();
  16. var_dump($a);
  17. eval(' static $b = array(10,11,12); ');
  18. function f2() {
  19. eval(' static $b = array(1,2,3); ');
  20. function g2a() {
  21. eval(' static $b = array(4,5,6); ');
  22. var_dump($b);
  23. }
  24. eval('function g2b() { static $b = array(7, 8, 9); var_dump($b); } ');
  25. var_dump($b);
  26. }
  27. f2();
  28. g2a();
  29. g2b();
  30. var_dump($b);
  31. eval(' function f3() { static $c = array(1,2,3); var_dump($c); }');
  32. f3();
  33. ?>
  34. --EXPECT--
  35. array(3) {
  36. [0]=>
  37. int(1)
  38. [1]=>
  39. int(2)
  40. [2]=>
  41. int(3)
  42. }
  43. array(3) {
  44. [0]=>
  45. int(4)
  46. [1]=>
  47. int(5)
  48. [2]=>
  49. int(6)
  50. }
  51. array(3) {
  52. [0]=>
  53. int(7)
  54. [1]=>
  55. int(8)
  56. [2]=>
  57. int(9)
  58. }
  59. array(3) {
  60. [0]=>
  61. int(1)
  62. [1]=>
  63. int(2)
  64. [2]=>
  65. int(3)
  66. }
  67. array(3) {
  68. [0]=>
  69. int(4)
  70. [1]=>
  71. int(5)
  72. [2]=>
  73. int(6)
  74. }
  75. array(3) {
  76. [0]=>
  77. int(7)
  78. [1]=>
  79. int(8)
  80. [2]=>
  81. int(9)
  82. }
  83. array(3) {
  84. [0]=>
  85. int(10)
  86. [1]=>
  87. int(11)
  88. [2]=>
  89. int(12)
  90. }
  91. array(3) {
  92. [0]=>
  93. int(1)
  94. [1]=>
  95. int(2)
  96. [2]=>
  97. int(3)
  98. }