ID: 11466 Updated by: sniper Reported By: [EMAIL PROTECTED] Old-Status: Open Status: Bogus Bug Type: Variables related Operating system: PHP Version: 4.0.4pl1 Assigned To: Comments: Yes, this is how it works, not a bug. Previous Comments: --------------------------------------------------------------------------- [2001-06-13 11:14:10] [EMAIL PROTECTED] These two sources are the same except the last line of the second one. The former represents that it doesn't work to unset the global variable, the latter that it only works when unset throught the $GLOBALS variable. [SRC 1: unset doesn't work] ============================================================ <?php function unset_variable ($name, $flag) { global $$name; global $GLOBALS; if ($flag & 1) { echo " - <font color=magenta>unset $$name</font><br>n"; unset($$name); } if ($flag & 2) { echo " - <font color=magenta>unset $GLOBALS["$name"]</font><br>n"; unset($GLOBALS[$name]); } } function disp_variable ($name) { global $$name; global $GLOBALS; printf(" - $%s : %s<BR>n", $name, isset($$name) ? "<font color=green>".$$name."</font>" : "<font color=red>(unset)</font>"); printf(" - $GLOBALS[%s] : %s<BR>n", $name, isset($GLOBALS[$name]) ? "<font color=green>".$GLOBALS[$name]."</font>" : "<font color=red>(unset)</font>"); } for ($i=0; $i < 4; $i++) { $name = "var$i"; $$name = "VALUE_$i"; $step = $i; $flag = $i; printf("<font color=blue>STEP (%s)</font><BR>n", $step); disp_variable ($name); unset_variable ($name, $flag); disp_variable ($name); printf("<BR>n"); } ?> ============================================================ [SRC 2: unset works only throught the $GLOBALS variable] ============================================================ <?php function unset_variable ($name, $flag) { global $$name; global $GLOBALS; if ($flag & 1) { echo " - <font color=magenta>unset $$name</font><br>n"; unset($$name); } if ($flag & 2) { echo " - <font color=magenta>unset $GLOBALS["$name"]</font><br>n"; unset($GLOBALS[$name]); } } function disp_variable ($name) { global $$name; global $GLOBALS; printf(" - $%s : %s<BR>n", $name, isset($$name) ? "<font color=green>".$$name."</font>" : "<font color=red>(unset)</font>"); printf(" - $GLOBALS[%s] : %s<BR>n", $name, isset($GLOBALS[$name]) ? "<font color=green>".$GLOBALS[$name]."</font>" : "<font color=red>(unset)</font>"); } for ($i=0; $i < 4; $i++) { $name = "var$i"; $$name = "VALUE_$i"; $step = $i; $flag = $i; printf("<font color=blue>STEP (%s)</font><BR>n", $step); disp_variable ($name); unset_variable ($name, $flag); disp_variable ($name); printf("<BR>n"); } $GLOBALS[anything]; ?> ============================================================ --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=11466&edit=2 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]