#17017 [Dup->Csd]: Can't use variable variables on superglobals within functions and methods
| From: | sniper@php.net | Date: | Sat, 24 Aug 2002 01:37:37 +0000 |
| Subject: | #17017 [Dup->Csd]: 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-17721@lists.php.net to get a copy of this message | ||
ID: 17017
Updated by: sniper@php.net
Reported By: lennart.mulder@gmx.net
-Status: Duplicate
+Status: Closed
Bug Type: Documentation problem
Operating System: Any
PHP Version: 4.1 and higher
New Comment:
Documented here:
http://www.php.net/manual/en/language.variables.variable.php
Previous Comments:
------------------------------------------------------------------------
[2002-05-05 13:12:17] mfischer@php.net
Reclassified as documentation problem, updated subject.
------------------------------------------------------------------------
[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