You are here: Re: how can one variable equal 2 things?? « PHP Programming Language « IT news, forums, messages
Re: how can one variable equal 2 things??

Posted by Michael Winter on 07/03/05 01:52

On 02/07/2005 23:34, Marcus wrote:

[snip]

> if anything, I would have thought testing if ['default'] == 1 would
> be a boolean true since the variable exists and is not NULL, but
> testing if ['default'] == 1 returns FALSE.

This is due to implicit type conversion. When you use the equality (==)
rather than strict equality (===) and compare two different types, the
values are converted into something that can be compared in some
meaningful way.

If you compare a string to a number, an attempt is made to convert that
string to a number first. If the string starts with valid number data,
then that will be the used value, otherwise the comparison will be
against zero (0).

The string 'default' doesn't have anything resembling a number at its
start, so it will be converted to zero. You then perform a comparison
against literal zero, hence the expression evaluates to true.

See the type comparison page[1], as well as the section on converting
strings to numbers[2], in the manual.

Mike


[1] <URL:http://www.php.net/manual/en/types.comparisons.php>
[2]
<URL:http://www.php.net/manual/en/language.types.string.php#language.types.string.conversion>

--
Michael Winter
Prefix subject with [News] before replying by e-mail.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация