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]