Re: weird global issue [message #185344 is a reply to message #185338] |
Wed, 19 March 2014 21:21 |
Scott Johnson
Messages: 196 Registered: January 2012
Karma:
|
Senior Member |
|
|
On 3/19/14, 10:16 AM, The Natural Philosopher wrote:
> On 19/03/14 15:26, Arno Welzel wrote:
>> Am 23.02.2014 21:35, schrieb The Natural Philosopher:
>>> On 23/02/14 18:59, Christoph Michael Becker wrote:
>>>> The Natural Philosopher wrote:
>>>>
>>>> > Consider
>>>> > <?php
>>>> > $x=array();
>>>> >
>>>> > function foo()
>>>> > {
>>>> > global $x;
>>>> > foreach($x as $p) // fails with invalid type
>>>> > {
>>>> > }
>>>> > }
>>>> > ?>
>>>> > ---------
>>>> >
>>>> > <?php
>>>> > $x=array();
>>>> > global $x;
>>>> > function foo()
>>>> > {
>>>> > global $x;
>>>> > foreach($x as $p) // works??
>>>> > {
>>>> > }
>>>> > }
>>>> > ?>
>>>> > ---------
>>>> > This behaviour seems only limited to arrays...
>>>>
>>>> No (unless there's a bug in a particular PHP version). Your first code
>>>> sample works fine without even a notice.
>>>>
>>>
>>> It doesn't here, but the code is being 'eval'ed' ...
>>
>> That's one of the reasons, why it is NOT "nice" to store code in a
>> database and then use eval() to execute it.
>>
>>
>>
> actually it isn't.
>
> It was because the global was essentially being declared in a
> subroutine, which I had forgotten.
>
>
>
>
I hate when I do that...so much lost time.
Scotty
|
|
|