ID: 17017
Updated by: [EMAIL PROTECTED]
-Summary: Variable superglobal variable not recognised within
function and method
Reported By: [EMAIL PROTECTED]
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] [EMAIL PROTECTED]
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] [EMAIL PROTECTED]
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