I don't follow what you are trying to say here?

it is returning true, just as it should.

show me the results that you get by running this code.

here is mine

bool(true)
bool(true)


What is wrong about this?

Read my notes below

<?php
 function not_super()
{
    $v = isset($GLOBALS['GLOBALS']);    //  This will return TRUE or FALSE
    var_dump($v);                       //  This will echo the value of $v
                                        //  This again is going to be TRUE
or FALSE
                                        //        or it may show 1 or 0
    return array_keys($GLOBALS);        //  because we are not echoing the
return below
                                        //  This will do nothing.
}
//var_dump(not_super(), array_keys($GLOBALS));
not_super();   //  First pass through
not_super();   //  Second pass through

What results are you expecting to get from this???
And why???

Jim


----- Original Message -----
From: "Greg Beaver" <[EMAIL PROTECTED]>
To: "Jim Lucas" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, August 01, 2003 2:43 PM
Subject: Re: [PHP] Re: Globals


> Jim,
>
> My bad, I posted the wrong code.  Try this instead to see the bug:
>
> <?php
> function not_super()
> {
>     var_dump(isset($GLOBALS['GLOBALS']));
>     return array_keys($GLOBALS);
> }
> //var_dump(not_super(), array_keys($GLOBALS));
> not_super();
> not_super();
>
>
> ?>
>
> run this code, don't read it, you will see output of bool(false),
> bool(false)
>
> However, the following code works as expected!
>
> <?php
> function not_super()
> {
>     return array_keys($GLOBALS);
> }
> var_dump(not_super(), array_keys($GLOBALS));
> ?>
>
> GLOBALS will be present in both arrays.
>
> Very odd behavior.
>
> Note that in PHP 5.0.0b1, the first function does work, so this is fixed
> somewhere in there.
>
> Greg
> --
> phpDocumentor
> http://www.phpdoc.org
>
> Jim Lucas wrote:
>
> >umm...  That is what is going to happen when you follow your example.
> >
> >I think you are mistaken in what you are expecting...
> >
> >This line:
> >  $a = array_keys($GLOBALS);
> >
> >will give you an array of values that match the keys of the $GLOBALS
array
> >
> >it won't copy the arrays.
> >
> >Try this.
> >
> ><PRE>
> ><?php
> >$a = array_keys($GLOBALS);
> >foreach($a AS $key => $value) {
> >  echo $key."=>(".$value.")\n";
> >}
> >?>
> >
> >Jim Lucas
> >
> >----- Original Message -----
> >From: "Greg Beaver" <[EMAIL PROTECTED]>
> >To: "Jim Lucas" <[EMAIL PROTECTED]>
> >Cc: "Leif K-Brooks" <[EMAIL PROTECTED]>;
> ><[EMAIL PROTECTED]>
> >Sent: Friday, August 01, 2003 1:42 PM
> >Subject: Re: [PHP] Re: Globals
> >
> >
> >
> >
> >>Hi Jim,
> >>
> >>The code you posted is correct, I never contested that.  Read carefully.
> >>
> >><?php
> >>function not_super()
> >>{
> >>    var_dump(isset($GLOBALS['GLOBALS']));
> >>    $a = array_keys($GLOBALS);
> >>
> >>    var_dump(isset($a['GLOBALS']));
> >>}
> >>not_super();
> >>?>
> >>
> >>run this code, don't read it, you will see output of bool(false),
> >>bool(false)
> >>
> >>However, the following code works as expected!
> >>
> >><?php
> >>function not_super()
> >>{
> >>    return array_keys($GLOBALS);
> >>}
> >>var_dump(not_super(), array_keys($GLOBALS));
> >>?>
> >>
> >>GLOBALS will be present in both arrays.
> >>
> >>Very odd behavior.
> >>
> >>Greg
> >>
> >>
> >>Jim Lucas wrote:
> >>
> >>
> >>
> >>>actually, it does work and it does exist.
> >>>
> >>>Try using print_r() or
> >>>
> >>>print_r(array_keys($GLOBALS));
> >>>
> >>>
> >>>and you will see an entry for GLOBALS
> >>>
> >>>mine is located at #13
> >>>
> >>>Jim Lucas
> >>>
> >>>----- Original Message -----
> >>>From: "Greg Beaver" <[EMAIL PROTECTED]>
> >>>To: "Leif K-Brooks" <[EMAIL PROTECTED]>
> >>>Cc: <[EMAIL PROTECTED]>
> >>>Sent: Friday, August 01, 2003 12:45 PM
> >>>Subject: Re: [PHP] Re: Globals
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>>Try this code:
> >>>>
> >>>><?php
> >>>>function blah() {
> >>>> var_dump($GLOBALS['GLOBALS']);
> >>>>
> >>>>}
> >>>>
> >>>>blah();
> >>>>?>
> >>>>
> >>>>It appears that in a function scope, it doesn't.  This is definitely a
> >>>>bug, I'll post it if it hasn't already been noticed.
> >>>>
> >>>>Greg
> >>>>
> >>>>Leif K-Brooks wrote:
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>Greg Beaver wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>$GLOBALS does not contain a reference to itself
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>Yes it does. I just ran the following, and I got "Greg is wrong."
> >>>>>
> >>>>><?php
> >>>>>$foo = 'Greg is wrong.';
> >>>>>echo $GLOBALS['GLOBALS']['GLOBALS']['GLOBALS']['foo'];
> >>>>>?>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>--
> >>>>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