Bug #12674 Updated: string +' true', types misunderstanding (?)

From: Date: Thu, 09 Aug 2001 12:46:21 +0000
Subject: Bug #12674 Updated: string +' true', types misunderstanding (?)
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-62715@lists.php.net to get a copy of this message
ID: 12674 User updated by: joustin@plusnet.pl Reported By: joustin@plusnet.pl 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] alindeman@php.net any non-empty string will evaluate true! ------------------------------------------------------------------------ [2001-08-09 08:18:08] joustin@plusnet.pl 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

« previous php.dev (#62715) next »