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:

<quote>
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.
</quote>

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
> 
> <?php
> 
>   // works
>   if (empty($var)) print '$var is empty<br>';
>   
>   // works
>   $foo = 'is_string';
>   $var = 'abcdef';   
>   if ($foo($var)) print '$var is a string<br>';
>   
>   // works
>   $foo = 'strlen';
>   $var = 'abcdef';
>   if ($foo($var) > 5) print '$var is over 5 chars<br>';
>   
>   // 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]

Reply via email to