static_basic_001.phpt 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. --TEST--
  2. Static keyword - basic tests
  3. --FILE--
  4. <?php
  5. echo "\nSame variable used as static and non static.\n";
  6. function staticNonStatic() {
  7. echo "---------\n";
  8. $a=0;
  9. echo "$a\n";
  10. static $a=10;
  11. echo "$a\n";
  12. $a++;
  13. }
  14. staticNonStatic();
  15. staticNonStatic();
  16. staticNonStatic();
  17. echo "\nLots of initialisations in the same statement.\n";
  18. function manyInits() {
  19. static $counter=0;
  20. echo "------------- Call $counter --------------\n";
  21. static $a, $b=10, $c=20, $d, $e=30;
  22. echo "Uninitialized : $a\n";
  23. echo "Initialized to 10: $b\n";
  24. echo "Initialized to 20: $c\n";
  25. echo "Uninitialized : $d\n";
  26. echo "Initialized to 30: $e\n";
  27. $a++;
  28. $b++;
  29. $c++;
  30. $d++;
  31. $e++;
  32. $counter++;
  33. }
  34. manyInits();
  35. manyInits();
  36. manyInits();
  37. echo "\nUsing static keyword at global scope\n";
  38. for ($i=0; $i<3; $i++) {
  39. static $s, $k=10;
  40. echo "$s $k\n";
  41. $s++;
  42. $k++;
  43. }
  44. ?>
  45. --EXPECT--
  46. Same variable used as static and non static.
  47. ---------
  48. 0
  49. 10
  50. ---------
  51. 0
  52. 11
  53. ---------
  54. 0
  55. 12
  56. Lots of initialisations in the same statement.
  57. ------------- Call 0 --------------
  58. Uninitialized :
  59. Initialized to 10: 10
  60. Initialized to 20: 20
  61. Uninitialized :
  62. Initialized to 30: 30
  63. ------------- Call 1 --------------
  64. Uninitialized : 1
  65. Initialized to 10: 11
  66. Initialized to 20: 21
  67. Uninitialized : 1
  68. Initialized to 30: 31
  69. ------------- Call 2 --------------
  70. Uninitialized : 2
  71. Initialized to 10: 12
  72. Initialized to 20: 22
  73. Uninitialized : 2
  74. Initialized to 30: 32
  75. Using static keyword at global scope
  76. 10
  77. 1 11
  78. 2 12