为什么从除字符串以外的任何类型的转换为浮点数时首先转换为整数


Why converting to integer first when converting from any type except string to float?

有关将字符串转换为浮点数的信息,请参阅字符串转换为数字。对于其他类型的值,转换是通过先将值转换为整数,然后再转换为浮点数来执行的。

http://php.net/float

为什么需要先转换为整数类型,然后再转换为浮点类型?

只有字符串可以包含类似浮点的值。或者array()的浮点值是多少?还是resource?因此,转换为int的规则将应用于此类值,因为这些规则已存在并已定义。无需为浮点数的所有类型的浮点数重复这些转换规则;只需应用int规则,然后投射到float .