Re: [PHP] Re: isset($a->b) even if $a->b = null
- From: olav.morkrid@xxxxxxxxx ("Olav Mørkrid")
- Date: Fri, 17 Aug 2007 14:17:55 +0200
the solution has been found. array_key_exists() can actually be used
on objects, and yields the correct result.
http://no.php.net/array_key_exists
thanks to dordea cosmin for pointing this out.
On 17/08/07, Olav Mørkrid <olav.morkrid@xxxxxxxxx> wrote:
the test i need should give the following results:.
- FALSE when $a->b does not exist at all
- TRUE when $a->b = null
- TRUE when $a->b = <any value>
empty() gives true for both $a->b = null and not setting any value, so
that's no good.
borokovs suggestion seems to miss the purpose.
anyone else?
On 17/08/07, Colin Guthrie <gmane@xxxxxxxxxxxxxx> wrote:
Olav Mørkrid wrote:
how do i test if a property of a stdclass object is set, even if its
value is null, similar to how array_key_exists() works for arrays.
the following method fails:
$a->b = null;
if(isset($a->b))
echo "yes";
and property_exists() seems only to work for defined objects.
hope someone can help. thanks!
You can try:
unset($a-b)
Or change isset() to empty().
empty() catches more than isset() e.g. '' (empty string), false, 0 etc.
are considered "empty". Depending on your logic it can still be very
useful. It is a language construct rather than a function so it's also
efficient.
Col
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
- References:
- isset($a->b) even if $a->b = null
- From: "Olav Mørkrid"
- Re: isset($a->b) even if $a->b = null
- From: Colin Guthrie
- Re: [PHP] Re: isset($a->b) even if $a->b = null
- From: "Olav Mørkrid"
- isset($a->b) even if $a->b = null
- Prev by Date: Re: [PHP] Re: isset($a->b) even if $a->b = null
- Next by Date: Re: [PHP] Re: isset($a->b) even if $a->b = null
- Previous by thread: Re: [PHP] Re: isset($a->b) even if $a->b = null
- Next by thread: Re: [PHP] Re: isset($a->b) even if $a->b = null
- Index(es):
Relevant Pages
|
|