Re: [Question] behavior of `null + null = 0`
| From: | tyamahori | Date: | Tue, 05 Sep 2023 12:30:14 +0000 |
| Subject: | Re: [Question] behavior of `null + null = 0` | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-328273@lists.php.net to get a copy of this message | ||
On Tue, Sep 5, 2023 at 7:51 AM Ashley Sheridan <ash@ashleysheridan.co.uk> wrote:
>
>
> On 04/09/2023 05:35, tyamahori wrote:
> > Dear PHP users.
> >
> > I have questions about the behavior
null + null = 0.
> >
> > Since PHP4.3.0, null + null becomes
> > 0.
> > https://3v4l.org/YX3Od#veol
> >
> > Form php-src,
> >
> > https://github.com/php/php-src/blob/e2189e5f376092eeaeb4c06ff9b5918bfc016917/Zend/zend_operators.c#L325
> >
> > It seems _zendi_try_convert_scalar_to_number converts null to 0.
> >
> > Do you know who decided this behavior ?
> > Do you know how did this behavior come about?
> >
> > Regards.
> > Kazuki
> >
> >
> What you're looking at here is type coercian, or as PHP refers to it,
> type juggling.
>
> You're using a non-numerica type as a number when you use the +
> operator. This has the effect of casting null first to an int, which
> results in your calculation becoming 0 + 0.
>
> More details on PHPs type juggling can be found at
> https://www.php.net/manual/en/language.types.type-juggling.php
>
> Thanks,
> Ash
>
> --
> www.ashleysheridan.co.uk
Thank you for the link.
I will check it.
Regards
Kazuki