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

Reply via email to