On Mon, Sep 7, 2009 at 4:19 PM, Ashley Sheridan 
<a...@ashleysheridan.co.uk>wrote:

> On Mon, 2009-09-07 at 19:14 +0000, Bobby Pejman wrote:
> > Hi,
> >
> > I noticed that the following returns a 1.
> >
> > echo (1<2) ? True : False
> >
> > I was under the impression that true/false are of type boolean and not
> int.  But in php anything other than 0 translates to true, meaning a 1.
>  What I am trying to achieve is for a 1 to be a 1 and a true or false to be
> a true and false respectively and I do not want to put quotes around the
> word true/false either because then it is no longer a boolean but string.
> >
> > Is it possible to overwrite php's true/false and declare them as boolean?
>  You often see in C++, some use Define().
> >
> > Thanks.
> >
> The statement you gave does return a boolean value, but what you are
> doing is printing the resulting value out. PHP converts the boolean to
> the nearest printable value, which will be a 1 or 0. If you want it to
> output the value 'True' or 'False' then you need to output a string
> value.
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
I think php convert the boolean variable to string before print its content.

That's why...

echo true; # prints '1'
echo false; # does not prints anything, or prints ''

$bool = false;
var_dump(
    (string) $bool,
    (int) $bool
);

-- 
Martin Scotta

Reply via email to