Re: [PHP] Global Var Disappearing After Function

[email protected] (Peter van der Does)
Newsgroups php.general
Message-ID <[email protected]>
On Mon, 22 Mar 2010 16:58:33 -0400
APseudoUtopia <[email protected]> wrote:

> Hey list,
> 
> I have a very odd problem which has been driving me crazy for two
> days. I've been trying to debug my code and gave up. I finally coded a
> very simple representation of what the code does, and I get the same
> problem. However, I still don't understand what's causing it.
> 
> The representational code:
> http://pastie.org/private/fz3lgvsjopz3dhid8cf9a
> 
> As you can see, it's very simple. A variable is set, then a function
> is called which modifies the variable in the global scope. However,
> the modifications CANNOT BE SEEN after the function is called.
> 
> The output from the script is here:
> http://pastie.org/private/29r5mrr1k7rtqmw7eyoja
> 
> As you can see, the modifications in do_test() cannot be seen after
> the function is called.
> 
> What is causing this? And how can I fix it?
> 
> Thanks!
> 

From PHP.net:

If a globalized variable is unset() inside of a function, only the
local variable is destroyed. The variable in the calling environment
will retain the same value as before unset() was called. [1]

[1] http://php.net/manual/en/function.unset.php


-- 
Peter van der Does

GPG key: E77E8E98

IRC: Ganseki on irc.freenode.net
Twitter: @petervanderdoes

WordPress Plugin Developer
Blog: http://blog.avirtualhome.com
Forums: http://forums.avirtualhome.com
Twitter: @avhsoftware
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.