Re: [PHP] variable functions: empty/isset/unset invalid?
> 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?
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?
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?
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?
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?
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?
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?
$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]