isset() does more than check the existance in a hash table, because this the
following is true:

$foo = null;
isset($foo);  // returns false, even though $foo is initialized
echo $foo;    // will not cause a NOTICE, because $foo is initialized

- Ron


""Richard Lynch"" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> On Sun, April 16, 2006 7:38 pm, Pierre wrote:
> > isset and empty share the same implementation, the only difference is
> > what they return (in short). They behave "the same", they should
> > continue do so if empty accept many arguments.
>
> Actually...
>
> Unless the docs are lying to me...
>
> empty() checks the contents of the value, and does something quite
> different based on the value found.
>
> isset() just plain checks in the hash table[s] if the variable has
> been assigned, and that's it.
>
> Plus, the meaning of empty() changed in some a way with "0" between
> versions 3 and 4, and then again with respect to objects with no
> properties between 4 and 5.
>
> isset() has never changed its meaning out from under me. :-)
>
> So, while the guts of the function may be the same in source, there's
> got to be some kind of flag or something going on for empty() to be
> checking all those values, no???
>
> -- 
> Like Music?
> http://l-i-e.com/artists.htm

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to