Re: [Question] behavior of `null + null = 0`

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It could also be seen:

null == 0
null(0) + null(0) == 0

JK

> On Sep 4, 2023, at 3:51 PM, 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




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux