Re: Overwrite value of true or false in PHP
| From: | Martin Scotta | Date: | Mon, 07 Sep 2009 19:46:56 +0000 |
| Subject: | Re: Overwrite value of true or false in PHP | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-297771@lists.php.net to get a copy of this message | ||
On Mon, Sep 7, 2009 at 4:19 PM, Ashley Sheridan <ash@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