On Tue, Sep 5, 2023 at 7:51 AM Ashley Sheridan <ash@xxxxxxxxxxxxxxxxxxxx> 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