Global Var Disappearing After Function
Global Var Disappearing After Function
am 22.03.2010 21:58:33 von APseudoUtopia
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!
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: Global Var Disappearing After Function
am 22.03.2010 22:05:18 von Andrew Ballard
On Mon, Mar 22, 2010 at 4:58 PM, APseudoUtopia 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!
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
I believe line 8 detaches the variable $Session that exists inside the
function from the global variable that exists outside the function.
Andrew
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: Global Var Disappearing After Function
am 22.03.2010 22:13:48 von Peter van der Does
On Mon, 22 Mar 2010 16:58:33 -0400
APseudoUtopia wrote:
> Hey list,
>=20
> 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.
>=20
> The representational code:
> http://pastie.org/private/fz3lgvsjopz3dhid8cf9a
>=20
> 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.
>=20
> The output from the script is here:
> http://pastie.org/private/29r5mrr1k7rtqmw7eyoja
>=20
> As you can see, the modifications in do_test() cannot be seen after
> the function is called.
>=20
> What is causing this? And how can I fix it?
>=20
> Thanks!
>=20
=46rom 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
--=20
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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: Global Var Disappearing After Function
am 22.03.2010 22:26:05 von APseudoUtopia
On Mon, Mar 22, 2010 at 5:13 PM, Peter van der Does
wrote:
> On Mon, 22 Mar 2010 16:58:33 -0400
> APseudoUtopia 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
>
>
Ah ha! I was looking on the php.net/global page for hints, but didn't
see any. I should've looked on the unset page. Thanks!
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: Global Var Disappearing After Function
am 22.03.2010 22:41:56 von Shawn McKenzie
APseudoUtopia wrote:
> On Mon, Mar 22, 2010 at 5:13 PM, Peter van der Does
> wrote:
>> On Mon, 22 Mar 2010 16:58:33 -0400
>> APseudoUtopia 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
>>
>>
>
> Ah ha! I was looking on the php.net/global page for hints, but didn't
> see any. I should've looked on the unset page. Thanks!
Really no reason to unset() it anyway since you do this:
$Session = $UserInfo;
--
Thanks!
-Shawn
http://www.spidean.com
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php