Re: [PHP] Global Var Disappearing After Function

2010-03-22 Thread 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



Re: [PHP] Global Var Disappearing After Function

2010-03-22 Thread 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: [PHP] Global Var Disappearing After Function

2010-03-22 Thread Peter van der Does
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


-- 
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: [PHP] Global Var Disappearing After Function

2010-03-22 Thread 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



[PHP] Global Var Disappearing After Function

2010-03-22 Thread 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