ID: 30935 User updated by: bugs-php-net at schirmeier dot com Reported By: bugs-php-net at schirmeier dot com Status: Open Bug Type: Arrays related Operating System: Linux x86 -PHP Version: 4.3.9 +PHP Version: 5.0.2 New Comment:
"Version:" corrected to latest "stable" version the bug was reproduced with. Previous Comments: ------------------------------------------------------------------------ [2004-11-29 22:19:05] bugs-php-net at schirmeier dot com Description: ------------ compact() does not "see" superglobals like $_GET/$_POST/etc. when called within a function (documentation says: "Any strings that are not set will simply be skipped."). Tested on PHP versions 4.3.2, 4.3.9 (both Apache module and cli), 5.0.0, 5.0.1 (cli), 5.0.2, php5.1-dev-cli. Reproduce code: --------------- <?php function foo() { var_dump(compact('_GET', '_POST', '_SESSION', '_ENV', '_COOKIE', '_SERVER')); } var_dump(compact('_GET', '_POST', '_SESSION', '_ENV', '_COOKIE', '_SERVER')); echo "\n------------------------\n"; foo(); ?> Expected result: ---------------- A dump of an array with indexes '_GET', '_POST' etc. pointing to the contents of the respective superglobals, then a dashed line, then the same dump again. Actual result: -------------- The expected dump, the dashed line, and a:0:{}. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=30935&edit=1