get_defined_vars.phpt 2.5 KB

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