variables inside single quotes are not evaluated! This is the same variable: echo $GLOBALS['var']; $key='var'; echo $GLOBALS[$key];
With $GLOBALS['$key'] you refer to an invalid variable name $'$key'
PS: Output of
echo "GLOBALS['$key'] = $value<br>\n"; is right because $key is in double quotes (the outermost qoutes)
Daevid Vincent wrote:
Actually I didn't. ;-)
$GLOBALS[$key] is incorrect and depricated AFAIK. $GLOBALS['$key'] (with the single quotes) is the proper way to write these types of associative arrays/hashs.
For shits and giggles however I tried your way and it made no difference to the code. Still didn't work right.
-----Original Message-----
From: Marek Kilimajer [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 26, 2003 1:16 PM
To: Daevid Vincent
Cc: [EMAIL PROTECTED]
Subject: Re: [PHP] What am I not understanding about $GLOBALS['myvar'] vs global $myvar?
Daevid Vincent wrote:
This one does NOT work the way I would expect it to?I did not read your whole message, but you very likely mean
function clearContactVars() { foreach ($GLOBALS as $key => $value) { if ( substr($key,0,8) == "contact_" ) { //echo "GLOBALS['$key'] = $value<br>\n"; $GLOBALS['$key'] = "";
$GLOBALS[$key] = ""; (no single quotes)
} } clearPostVars(); }
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php