RE: Problem with loose typing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Chris Boget wrote:
>   function test() {
>     static $i = 0;
> 
>     $i++;
>     $retval = ( $i <= 10 ) ? $i : '';
> 
>     return $retval;
> 
>   }
>   while( $bob = test()) {
>     echo $bob . '<br>';
> 
>   }
> 
> You would expect the while loop to go on forever just looking
> at the above code. 

I wouldn't, but apparently you do. :)

> 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?

while ( ($bob = test()) !== false ) {
  echo $bob . '<br>';
}

should do the trick.

HTH

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux