Re: [PHP] variable functions: empty/isset/unset invalid?

2001-05-07 Thread Gyozo Papp


> Thanks for the additional code, now I see what you are after. Sorry, I don't
> know the answer, other than using curly braces will fix the problem for
> empty(). Also, a User Contributed Note at
> http://www.php.net/manual/en/functions.php#functions.user-defined has this
> to say:
> 
> 
> there are tons of good uses for this sort of functionality. But it should be
> noted that this will not work with 
> include() 
> include_once() 
> require() 
> require_once() 
> 
> it's safe to assume that this is for safty.
> 
These funtions are directives rather than normal php functions as the manual says. 
I'm  just guessing, maybe empty(), isset() and other variable-testing functions are 
also directives with a function-syntax wrapper and this is the reason why PHP doesn't 
find them as functions (not in the target-list :).

> 
> Kirk
> 
> > -Original Message-
> > From: Philip Olson [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, May 07, 2001 11:45 AM
> > To: [EMAIL PROTECTED]
> > Subject: RE: [PHP] variable functions: empty/isset/unset invalid?
> > 
> > 
> > 
> > I wish it were that easy.  Also, I'm looking for words on WHY this
> > behavior exists.
> > 
> >   http://www.php.net/manual/en/functions.variable-functions.php
> > 
> >  > 
> >   // works
> >   if (empty($var)) print '$var is empty';
> >   
> >   // works
> >   $foo = 'is_string';
> >   $var = 'abcdef';   
> >   if ($foo($var)) print '$var is a string';
> >   
> >   // works
> >   $foo = 'strlen';
> >   $var = 'abcdef';
> >   if ($foo($var) > 5) print '$var is over 5 chars';
> >   
> >   // doesn't work : Fatal Error : Call to undefined function: empty()
> >   // same with isset() and unset()
> >   $foo = 'empty';
> >   if ($foo($var)) print '$var is empty';
> >   
> > ?>
> > 
> > In otherwords, only these few functions aren't working as "variable
> > functions" but result in a "Fatal Error" instead.  Why?
> > 
> > 
> > Regards,
> > Philip
> > 
> > On Mon, 7 May 2001, Johnson, Kirk wrote:
> > 
> > > Change the parens around $var to curly braces:
> > > 
> > > if ($foo{$var}) print 'worked.';
> > > 
> > > Kirk
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
> 


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP] variable functions: empty/isset/unset invalid?

2001-05-07 Thread Christian Reiniger

On Monday 07 May 2001 20:11, Johnson, Kirk wrote:

> problem for empty(). Also, a User Contributed Note at
> http://www.php.net/manual/en/functions.php#functions.user-defined has
> this to say:
>
> 
> there are tons of good uses for this sort of functionality. But it
> should be noted that this will not work with
> include()
> include_once()
> require()
> require_once()
>
> it's safe to assume that this is for safty.
> 

But I see no reason why it shouldn't work with empty() and isset() 
(unset() might be justified perhaps).
You should report it as bug, Philip.

> >   // doesn't work : Fatal Error : Call to undefined function: empty()
> >   // same with isset() and unset()
> >   $foo = 'empty';
> >   if ($foo($var)) print '$var is empty';
> >
> > ?>
> >
> > In otherwords, only these few functions aren't working as "variable
> > functions" but result in a "Fatal Error" instead.  Why?

-- 
Christian Reiniger
LGDC Webmaster (http://sunsite.dk/lgdc/)

Error 032: Recursion error - see error 032

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP] variable functions: empty/isset/unset invalid?

2001-05-07 Thread Altunergil, Oktay

Though I didn't know about 'variable functions' when answered, this is
exactly what I said.. Interesting :)

>>$foo is a string not a PHP function which makes 'empty' a string and not a
>>function/command.
>>
>>Am I missing something?
>>
>>oktay

-Original Message-
From: Philip Olson [mailto:[EMAIL PROTECTED]]
Sent: Monday, May 07, 2001 2:43 PM
To: [EMAIL PROTECTED]
Subject: RE: [PHP] variable functions: empty/isset/unset invalid?



Solved.

empty, isset and unset are not functions, they are language contructs,
which results in the error.  This makes sense, a workaround is creating
functions like isEmpty (or something similar) and using them.  I'll be
submitting a future request soon ;)

Thanks everyone, especially OpenSrc in #php

regards,
Philip



> >  > 
> >   // works
> >   if (empty($var)) print '$var is empty';
> >   
> >   // works
> >   $foo = 'is_string';
> >   $var = 'abcdef';   
> >   if ($foo($var)) print '$var is a string';
> >   
> >   // works
> >   $foo = 'strlen';
> >   $var = 'abcdef';
> >   if ($foo($var) > 5) print '$var is over 5 chars';
> >   
> >   // doesn't work : Fatal Error : Call to undefined function: empty()
> >   // same with isset() and unset()
> >   $foo = 'empty';
> >   if ($foo($var)) print '$var is empty';
> >   
> > ?>
> > 
> > In otherwords, only these few functions aren't working as "variable
> > functions" but result in a "Fatal Error" instead.  Why?



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP] variable functions: empty/isset/unset invalid?

2001-05-07 Thread Philip Olson


Solved.

empty, isset and unset are not functions, they are language contructs,
which results in the error.  This makes sense, a workaround is creating
functions like isEmpty (or something similar) and using them.  I'll be
submitting a future request soon ;)

Thanks everyone, especially OpenSrc in #php

regards,
Philip



> >  > 
> >   // works
> >   if (empty($var)) print '$var is empty';
> >   
> >   // works
> >   $foo = 'is_string';
> >   $var = 'abcdef';   
> >   if ($foo($var)) print '$var is a string';
> >   
> >   // works
> >   $foo = 'strlen';
> >   $var = 'abcdef';
> >   if ($foo($var) > 5) print '$var is over 5 chars';
> >   
> >   // doesn't work : Fatal Error : Call to undefined function: empty()
> >   // same with isset() and unset()
> >   $foo = 'empty';
> >   if ($foo($var)) print '$var is empty';
> >   
> > ?>
> > 
> > In otherwords, only these few functions aren't working as "variable
> > functions" but result in a "Fatal Error" instead.  Why?



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP] variable functions: empty/isset/unset invalid?

2001-05-07 Thread Johnson, Kirk

Thanks for the additional code, now I see what you are after. Sorry, I don't
know the answer, other than using curly braces will fix the problem for
empty(). Also, a User Contributed Note at
http://www.php.net/manual/en/functions.php#functions.user-defined has this
to say:


there are tons of good uses for this sort of functionality. But it should be
noted that this will not work with 
include() 
include_once() 
require() 
require_once() 

it's safe to assume that this is for safty.


Kirk

> -Original Message-
> From: Philip Olson [mailto:[EMAIL PROTECTED]]
> Sent: Monday, May 07, 2001 11:45 AM
> To: [EMAIL PROTECTED]
> Subject: RE: [PHP] variable functions: empty/isset/unset invalid?
> 
> 
> 
> I wish it were that easy.  Also, I'm looking for words on WHY this
> behavior exists.
> 
>   http://www.php.net/manual/en/functions.variable-functions.php
> 
>  
>   // works
>   if (empty($var)) print '$var is empty';
>   
>   // works
>   $foo = 'is_string';
>   $var = 'abcdef';   
>   if ($foo($var)) print '$var is a string';
>   
>   // works
>   $foo = 'strlen';
>   $var = 'abcdef';
>   if ($foo($var) > 5) print '$var is over 5 chars';
>   
>   // doesn't work : Fatal Error : Call to undefined function: empty()
>   // same with isset() and unset()
>   $foo = 'empty';
>   if ($foo($var)) print '$var is empty';
>   
> ?>
> 
> In otherwords, only these few functions aren't working as "variable
> functions" but result in a "Fatal Error" instead.  Why?
> 
> 
> Regards,
> Philip
> 
> On Mon, 7 May 2001, Johnson, Kirk wrote:
> 
> > Change the parens around $var to curly braces:
> > 
> > if ($foo{$var}) print 'worked.';
> > 
> > Kirk

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP] variable functions: empty/isset/unset invalid?

2001-05-07 Thread Philip Olson


I wish it were that easy.  Also, I'm looking for words on WHY this
behavior exists.

  http://www.php.net/manual/en/functions.variable-functions.php

';
  
  // works
  $foo = 'is_string';
  $var = 'abcdef';   
  if ($foo($var)) print '$var is a string';
  
  // works
  $foo = 'strlen';
  $var = 'abcdef';
  if ($foo($var) > 5) print '$var is over 5 chars';
  
  // doesn't work : Fatal Error : Call to undefined function: empty()
  // same with isset() and unset()
  $foo = 'empty';
  if ($foo($var)) print '$var is empty';
  
?>

In otherwords, only these few functions aren't working as "variable
functions" but result in a "Fatal Error" instead.  Why?


Regards,
Philip

On Mon, 7 May 2001, Johnson, Kirk wrote:

> Change the parens around $var to curly braces:
> 
> if ($foo{$var}) print 'worked.';
> 
> Kirk
> 
> > -Original Message-
> > From: Philip Olson [mailto:[EMAIL PROTECTED]]
> > Subject: [PHP] variable functions: empty/isset/unset invalid?
> > 
> > This does not work as expected (as I expect it at least) and gives the
> > following error. This seems to result with use of empty(), 
> > isset(), and
> > unset(), perhaps others :
> > 
> >   Call to undefined function: empty()
> > 
> > When using :
> > 
> >   $foo = 'empty';
> >   if ($foo($var)) print 'worked.';
>  
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
> 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP] variable functions: empty/isset/unset invalid?

2001-05-07 Thread Johnson, Kirk

Change the parens around $var to curly braces:

if ($foo{$var}) print 'worked.';

Kirk

> -Original Message-
> From: Philip Olson [mailto:[EMAIL PROTECTED]]
> Subject: [PHP] variable functions: empty/isset/unset invalid?
> 
> This does not work as expected (as I expect it at least) and gives the
> following error. This seems to result with use of empty(), 
> isset(), and
> unset(), perhaps others :
> 
>   Call to undefined function: empty()
> 
> When using :
> 
>   $foo = 'empty';
>   if ($foo($var)) print 'worked.';
 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP] variable functions: empty/isset/unset invalid?

2001-05-07 Thread Altunergil, Oktay

$foo is a string not a PHP function which makes 'empty' a string and not a
function/command.

Am I missing something?

oktay

-Original Message-
From: Philip Olson [mailto:[EMAIL PROTECTED]]
Sent: Monday, May 07, 2001 1:04 PM
To: [EMAIL PROTECTED]
Subject: [PHP] variable functions: empty/isset/unset invalid?



This does not work as expected (as I expect it at least) and gives the
following error. This seems to result with use of empty(), isset(), and
unset(), perhaps others :

  Call to undefined function: empty()

When using :

  $foo = 'empty';
  if ($foo($var)) print 'worked.';

Of course the following works as expected.

  if (empty($var)) print 'worked.';

And with other functions :

  $foo = 'somefunction';
  if ($foo($var)) print 'worked.';

Why won't variable functions work with empty/isset/unset this way?  And
why the 'undefined function' fatal error?


regards,
philip



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]