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]

Reply via email to