Re: isset($a->b) even if $a->b = null
| From: | Colin Guthrie | Date: | Fri, 17 Aug 2007 11:33:26 +0000 |
| Subject: | Re: isset($a->b) even if $a->b = null | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-260952@lists.php.net to get a copy of this message | ||
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