Re: Problem with loose typing

From: Date: Fri, 17 Dec 2004 16:26:47 +0000
Subject: Re: Problem with loose typing
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-204586@lists.php.net to get a copy of this message
Chris Boget wrote:
Consider the following: function test() {
    static $i = 0;
    $i++;
    $retval = ( $i <= 10 ) ? $i : '';
    return $retval;
} while( $bob = test()) {
    echo $bob . '<br>';
} while(false !== ($bob = test())) {
     echo $bob . '<br>';
}
You would expect the while loop to go on forever just looking at the above code. However, what's happening is that when the empty string is getting returned due to $i being > 10, the while loop is resolving FALSE when $bob is set to the value of the empty string. Is there any way that I can force this not to happen? That the while loop resolves as FALSE only when the function actually returns a (boolean) FALSE value? thnx, Chris


« previous php.general (#204586) next »