suggestion: empty() with infinite parameters like isset()

php.internals

Ron Korving

21 years ago
I think it would be a good idea to apply the idea of infinite parameters that's been used with isset(), so one can test multiple variables: if (empty($var1, $var2, $var3)) echo "data missing"; I hope someone will agree with me and add this feature. Thanks, Ron

Derick Rethans

21 years ago
On Wed, 20 Oct 2004, Ron Korving wrote:
> I think it would be a good idea to apply the idea of infinite parameters > that's been used with isset(), so one can test multiple variables: > > if (empty($var1, $var2, $var3)) echo "data missing";
We discussed this before and we didn't want to agree if it should behave like "each one should be empty" or "all should be empty". So we will not add it. Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org

Ron Korving

21 years ago
Okay, I don't wanna make remarks that may have already been made earlier, but I think it should be "all should be empty", because it works exactly the same for isset(), and apparently, a decision was made to give isset() that feature. Ron "Derick Rethans" <derick@php.net> schreef in bericht news:Pine.LNX.4.58.0410201307210.1991@localhost...

Derick Rethans

21 years ago
On Wed, 20 Oct 2004, Ron Korving wrote:
> Okay, I don't wanna make remarks that may have already been made earlier, > but I think it should be "all should be empty", because it works exactly the > same for isset(), and apparently, a decision was made to give isset() that > feature.
Right, but then your example would already no longer have worked: if (empty($var1, $var2, $var3)) echo "data missing"; so there is no point in adding it like that. Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org

Ron Korving

21 years ago
Maybe it was a bad example. Writing "data missing" I was thinking that at least one variable should be set. Ron "Derick Rethans" <derick@php.net> schreef in bericht news:Pine.LNX.4.58.0410201315360.1991@localhost...
> On Wed, 20 Oct 2004, Ron Korving wrote: > > > Okay, I don't wanna make remarks that may have already been made
earlier,
> > but I think it should be "all should be empty", because it works exactly
the
> > same for isset(), and apparently, a decision was made to give isset()
that

Jevon Wright

21 years ago
How about anyempty($var1, $var2, $var3, ...) ? Jevon ----- Original Message ----- From: "Ron Korving" <r.korving@xit.nl> To: <internals@lists.php.net> Sent: Thursday, October 21, 2004 12:21 AM Subject: Re: [PHP-DEV] suggestion: empty() with infinite parameters like isset()
> Maybe it was a bad example. Writing "data missing" I was thinking that at > least one variable should be set. > > Ron > > "Derick Rethans" <derick@php.net> schreef in bericht > news:Pine.LNX.4.58.0410201315360.1991@localhost... > > On Wed, 20 Oct 2004, Ron Korving wrote: > > > > > Okay, I don't wanna make remarks that may have already been made > earlier, > > > but I think it should be "all should be empty", because it works
exactly

Ron Korving

21 years ago
I'm not really anxcious to have an anyempty() function, but I do think empty() should behalve like an allempty() just like isset() behaves like an areallset(). I guess the "weirdness" is in the fact that isset() will give a positive reply when something exists, while empty() gives a negative reply when something exists. I guess this creates the confusion and would make the allempty() functionality less likely to be used often. I guess people will want to check more often if all their vars are set, and therefor an "or" situation instead of "and" would be more suitable, because then you could do: if (empty($var1, $var2, $var3)) echo "there's an empty var"; I'd personally prefer the "and" situation, but it's a fact that this would make it far less useful than the "or". So I can see the confusion and the reason to just stick with 1 parameter. I guess there should just be a function like isset() which returns !empty(). Maybe it should be called isval() or something. Then it could be used for several vars without confusion: if (!isval($var1, $var2, $var3)) return "there's an empty var"; This would make sense to everybody I think, because like isset() it would be an "and" situation. Ron "Jevon Wright" <jevon@jevon.org> wrote in message news:008c01c4b6f6$4fd9a450$0a00a8c0@home.jevon.org...
> How about anyempty($var1, $var2, $var3, ...) ? > > Jevon > > ----- Original Message ----- > From: "Ron Korving" <r.korving@xit.nl> > To: <internals@lists.php.net> > Sent: Thursday, October 21, 2004 12:21 AM > Subject: Re: [PHP-DEV] suggestion: empty() with infinite parameters like > isset() > > > > Maybe it was a bad example. Writing "data missing" I was thinking that
at
> > least one variable should be set. > > > > Ron > > > > "Derick Rethans" <derick@php.net> schreef in bericht > > news:Pine.LNX.4.58.0410201315360.1991@localhost... > > > On Wed, 20 Oct 2004, Ron Korving wrote: > > > > > > > Okay, I don't wanna make remarks that may have already been made > > earlier, > > > > but I think it should be "all should be empty", because it works > exactly > > the > > > > same for isset(), and apparently, a decision was made to give
isset()

Unnamed Person

21 years ago
if(any_empty($var1, $var2, $var3)) return "there's an empty var"; if(!any_empty($var1, $var2, $var3)) return "there's no empty vars"; if (all_set($var1, $var2, $var3)) return "all vars are set"; if (!all_set($var1, $var2, $var3)) return "there's an unset var"; but how would you find out which var's, if any, are empty or not set? otherwise, would seem not very useful... if(!all_set($var1, $var2, $var3)){ if(!isset($var1)){ echo 'it was 1'; } if(!isset($var2)){ echo 'it was 2'; } if(!isset($var3)){ echo 'it was 3'; } } On Thu, October 21, 2004 9:13 am, Ron Korving said:

Derick Rethans

21 years ago
On Thu, 21 Oct 2004, David Vance wrote:
> but how would you find out which var's, if any, are empty or not set? > otherwise, would seem not very useful...
Right, please take this discussion off-list as we have had it in the past and came to the conclusion that there is no way to do this in a sane way. Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org

Andi Gutmans

21 years ago
There is a big difference between isset() and empty() and it was discussed a lot in the past. You'll see both sides to the coin after reading the archives. It's really a problem make a call on this one. Andi At 01:13 PM 10/20/2004 +0200, Ron Korving wrote:

Ron Korving

21 years ago
You're right, the only right way would be to introduce a new function like the isval() I suggested in my reply to Jevon. Ron "Andi Gutmans" <andi@zend.com> wrote in message news:5.1.0.14.2.20041020154028.036af970@localhost...
> There is a big difference between isset() and empty() and it was discussed > a lot in the past. > You'll see both sides to the coin after reading the archives. It's really
a
> problem make a call on this one. > > Andi > > At 01:13 PM 10/20/2004 +0200, Ron Korving wrote: > >Okay, I don't wanna make remarks that may have already been made earlier, > >but I think it should be "all should be empty", because it works exactly
the
> >same for isset(), and apparently, a decision was made to give isset()
that
> >feature. > > > >Ron > > > > > >"Derick Rethans" <derick@php.net> schreef in bericht > >news:Pine.LNX.4.58.0410201307210.1991@localhost... > > > On Wed, 20 Oct 2004, Ron Korving wrote: > > > > > > > I think it would be a good idea to apply the idea of infinite
parameters
> > > > that's been used with isset(), so one can test multiple variables: > > > > > > > > if (empty($var1, $var2, $var3)) echo "data missing"; > > > > > > We discussed this before and we didn't want to agree if it should
behave
> > > like "each one should be empty" or "all should be empty". So we will
not