Torgny Bjers wrote:

> No, Christopher, that is not a bug. As long as the var is empty, and if
> you try to compare with 0, or false, it will report true in the
> comparison because the variable does not contain anything, which will
> mean false for a boolean and 0 for a variable. If you are attempting to
> discover if a string contains data, use empty() instead. You can also
> check if the string is null or actual zero (0).

But the var isn't empty.

$a[] = 'blah';
$a[] = 'blah';
$a['assoc'] = 'array';
foreach ($a as $k => $v)
  if ($k == 'assoc')
    # do something

The 'if' statement is incorrectly executing when $k is 0.  I find it strange
that 0 == any string.  The way I see it, 0 is false.  false == 'a string'
should not be true.

Thanks for the reply,
-- C

> Regards,
> Torgny
> 
> Christopher J. Bottaro wrote:
> 
>>Is it a bug that ($var == 0) is always true for any string $var?
>>
> 

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

Reply via email to