get_defined_vars.phpt 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. --TEST--
  2. Testing get_defined_vars() Function
  3. --FILE--
  4. <?php
  5. /* Various variables definitions used for testing of the function */
  6. $number = 22.33; //number
  7. $string = "sample string"; //string
  8. $array1 = array(1, 1, 2, 3, 5, 8); //simple array
  9. $assoc_array = array( 'a'=>97, 'c'=>99, 'A'=>65, 'C'=>67, 1=>"string1" ); //associative array
  10. $boolean = TRUE; //boolean
  11. /* Checking for Class and Objects */
  12. class sample {
  13. var $number = 233;
  14. var $string = "string2";
  15. public function func() {
  16. $local_var = 2;
  17. var_dump( get_defined_vars() );
  18. }
  19. }
  20. $sample_obj = new sample; //object declaration
  21. function func() {
  22. $string33 = 22;
  23. var_dump( get_defined_vars() );
  24. }
  25. $arr = get_defined_vars();
  26. /* Displaying various variable through the array captured by the get_defined_vars function call */
  27. echo "\n*** Displaying various variables through the array captured by the get_defined_vars function call ***\n";
  28. var_dump( $arr["argc"] );
  29. var_dump( $arr["number"] );
  30. var_dump( $arr["string"] );
  31. var_dump( $arr["array1"] );
  32. var_dump( $arr["assoc_array"] );
  33. var_dump( $arr["boolean"] );
  34. var_dump( $arr["sample_obj"] );
  35. echo "\n*** Checking for output when get_defined_vars called in local function ***\n";
  36. func();
  37. echo "\n*** Checking for output when get_defined_vars called in function of a class ***\n";
  38. $sample_obj->func();
  39. echo "\n*** Checking for output when get_defined_vars called in nested functions ***\n";
  40. function func1(){
  41. $func1_var = 2;
  42. var_dump( get_defined_vars() );
  43. function func2(){
  44. $func2_var = 3;
  45. var_dump( get_defined_vars() );
  46. }
  47. func2();
  48. }
  49. func1();
  50. echo "\nDone";
  51. ?>
  52. --EXPECT--
  53. *** Displaying various variables through the array captured by the get_defined_vars function call ***
  54. int(1)
  55. float(22.33)
  56. string(13) "sample string"
  57. array(6) {
  58. [0]=>
  59. int(1)
  60. [1]=>
  61. int(1)
  62. [2]=>
  63. int(2)
  64. [3]=>
  65. int(3)
  66. [4]=>
  67. int(5)
  68. [5]=>
  69. int(8)
  70. }
  71. array(5) {
  72. ["a"]=>
  73. int(97)
  74. ["c"]=>
  75. int(99)
  76. ["A"]=>
  77. int(65)
  78. ["C"]=>
  79. int(67)
  80. [1]=>
  81. string(7) "string1"
  82. }
  83. bool(true)
  84. object(sample)#1 (2) {
  85. ["number"]=>
  86. int(233)
  87. ["string"]=>
  88. string(7) "string2"
  89. }
  90. *** Checking for output when get_defined_vars called in local function ***
  91. array(1) {
  92. ["string33"]=>
  93. int(22)
  94. }
  95. *** Checking for output when get_defined_vars called in function of a class ***
  96. array(1) {
  97. ["local_var"]=>
  98. int(2)
  99. }
  100. *** Checking for output when get_defined_vars called in nested functions ***
  101. array(1) {
  102. ["func1_var"]=>
  103. int(2)
  104. }
  105. array(1) {
  106. ["func2_var"]=>
  107. int(3)
  108. }
  109. Done