On Mon, Sep 7, 2009 at 4:19 PM, Ashley Sheridan <ash@xxxxxxxxxxxxxxxxxxxx>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