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: I've come from perl, so it's quite easy for me to swallow that :) ... but others may stuck. I suggest dropping a line about this one in the manual.. a workaround is to use '===' as the operator(PHP4) - of course as long as people would like to stuck to their current switch/if schemes. Previous Comments: ------------------------------------------------------------------------ [2001-08-09 08:46:19] [EMAIL PROTECTED] 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... } ?> ------------------------------------------------------------------------ [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]