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?

        function clearContactVars()
        {
                foreach ($GLOBALS as $key => $value) {
                        if ( substr($key,0,8) == "contact_" ) {
                          //echo "GLOBALS['$key'] = $value<br>\n";
                          $GLOBALS['$key'] = "";



I did not read your whole message, but you very likely mean

$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



Reply via email to