You may consider to use "empty" function that check if isset and not NULL
And also "!empty" inverse function.
Empty($var) ? DoSomethingIfNotSetOrNull() : DoOther();
Also it is true, I use a personnal function to check var ...
Something like that
Function variable_exists( $var )
{
$return = empty($var) ? null : $var;
return $return;
}
So my function check if var isset and not null and return null if not or
directly $var if false( = isset and not null in this case)
So !empty($var) = ( isset($var) AND !is_null($var) )
And, Empty($var) = ( !isset($var) AND is_null($var) )
Function : empty
----------------------------------------
Inverse function : !empty
Syntax : #bool empty( #mixed <var>)
----------------------------------------
Arguments : #mixed <var>
Return : #bolean <true||false>
----------------------------------------
Note : empty is not really a function but a language structure, look at
php.net for more info
-----Message d'origine-----
De : Stefan Walk [mailto:[EMAIL PROTECTED]
Envoy� : samedi 16 ao�t 2003 09:50
� : Thies C. Arntzen
Cc : Alan Knowles; Lars Torben Wilson; [EMAIL PROTECTED]; walt boring;
[EMAIL PROTECTED]; [EMAIL PROTECTED]
Objet : Re: [PHP-DEV] variable_exists() patch
On Fri, Aug 15, 2003 at 11:36:00AM +0200, Thies C. Arntzen wrote:
> On Fri, Aug 15, 2003 at 07:41:48AM +0800, Alan Knowles wrote:
> > I hit this a couple of months ago.. trying to implement NULL support
> > in dataobjects:
> >
> > $do = DB_DataObject::factory('test'); $do->get(12); $do->birthday =
> > null; $do->update();
> >
> > was supposed to generate
> > SELECT * FROM test WHERE id=12;
> > UPDATE test SET birthday=NULL where id = 12;
> >
> > or
> >
> > $do = DB_DataObject::factory('test'); $do->birthday = null;
> > $do->find();
> >
> > to do
> > SELECT * FROM test WHERE birthday IS NULL;
> >
> > but since there was no effective way to detect null, as apposed to
> > unset.. I had to give up... - If this could be solved by
> > variable_exists() - even though var $birthday is defined.. It would
> > be great..
>
> alan,
>
> you hit the "nail on the head" - zeev, do you see any way to
> solve alans problem?
>
> re,
> thies
class Foo {
function dump() {
var_dump(array_key_exists('bar', (array)$this));
}
}
$foo = new Foo;
$foo->bar = null;
$foo->dump();
// => bool(true)
It's not that hard to detect.
--
Regards,
Stefan Walk
<[EMAIL PROTECTED]>
--
PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit:
http://www.php.net/unsub.php
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php