ID: 12674 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Bogus Bug Type: Scripting Engine problem Operating System: Win2000 sp2 PHP Version: 4.0.6 New Comment: Geez... THAT'll make some people quite confused/lost, when analysing the results from a function with if/elseif or switch. Consider: <? function foo(){ #... return true; #...or... return 'works ok'; } $foo = foo(); if(!$foo){ #whatever }elseif($foo == 'works ok'){ #this will hit }else{ #or else... } ?> Previous Comments: ------------------------------------------------------------------------ [2001-08-09 08:32:38] [EMAIL PROTECTED] any non-empty string will evaluate true! ------------------------------------------------------------------------ [2001-08-09 08:18:08] [EMAIL PROTECTED] Hmm... why is that ? Am I reading manual too briefly, or is there something with the operators ? might be bogus, but please enlighten me:P btw: I thought that there's no seperate boolean type =] <? function foo(){ return true; } if(foo() == 'whatever you like'){ echo '!?!? why is that equal ?'; } ?> <? function paranoid(){ return 1; } if(!(paranoid() == (string) 'whatever you like')){ echo 'hmm??'; } ?> ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=12674&edit=1 -- PHP Development 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]