Bug #17017 Updated: Can't use variable variables on superglobals within functions and methods
| From: | mfischer@php.net | Date: | Sun, 05 May 2002 17:12:17 +0000 |
| Subject: | Bug #17017 Updated: Can't use variable variables on superglobals within functions and methods | ||
| References: | 1 | Groups: | php.bugs php.doc |
| Request: | Send a blank email to php-bugs+get-6962@lists.php.net to get a copy of this message | ||
ID: 17017
Updated by: mfischer@php.net
-Summary: Variable superglobal variable not recognised within
function and method
Reported By: lennart.mulder@gmx.net
Status: Duplicate
-Bug Type: Variables related
+Bug Type: Documentation problem
-Operating System: Linux
+Operating System: Any
-PHP Version: 4.2.0
+PHP Version: 4.1 and higher
New Comment:
Reclassified as documentation problem, updated subject.
Previous Comments:
------------------------------------------------------------------------
[2002-05-05 13:00:19] mfischer@php.net
Known limitation.
I don't know yet if this has been documented already, there's another
report about this issue though.
Marking as duplicate for now.
------------------------------------------------------------------------
[2002-05-05 12:58:27] lennart.mulder@gmx.net
Hello :-)
The definition of a variable variable as superglobal works fine when
put in the main coding (i.e. not within a function or method).
Example:
<?php
$aVariable = 'GET';
echo ${"_{$aVariable}"};
?>
The system output is: Array
In the next example however, where the same code is put into a
function, the resulting output is a error message instead:
<?php
function aFunction()
{
$aVariable = 'GET';
echo ${"_{$aVariable}"};
}
aFunction();
?>
The system output is: Notice: Undefined variable: _GET in Bestand.php
on line 6.
Also when $_GET has been defined as global (which should not be
necessary) this malfunction remains.
Suggested intermediate solution:
<?php
function aFunction()
{
$aVariable = 'GET';
echo $GLOBALS["_{$aVariable}"];
}
aFunction();
?>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=17017&edit=1