在PHP中使用严格的类型转换
为什么这段代码终止时没有任何问题? 我认为它会输出一个TypeError异常,因为一个整数不能被强制转换或转换为float,因为声明了严格的类型在PHP中使用严格的类型转换,php,casting,type-conversion,Php,Casting,Type Conversion,为什么这段代码终止时没有任何问题? 我认为它会输出一个TypeError异常,因为一个整数不能被强制转换或转换为float,因为声明了严格的类型 ?php declare(strict_types=1); function multiply(float $a, float $b): float { return (double)$a * (double)$b; } $six = multiply(2, 3); echo gettype($six); //output: double
?php
declare(strict_types=1);
function multiply(float $a, float $b): float {
return (double)$a * (double)$b;
}
$six = multiply(2, 3);
echo gettype($six);
//output: double
可以基于每个文件启用严格模式。在严格模式下,只接受类型声明的确切类型的变量,或者抛出TypeError。此规则的唯一例外是,可能会给期望浮点的函数一个整数
这是一个:
加宽基元转换不会丢失有关数值整体大小的信息
可以基于每个文件启用严格模式。在严格模式下,只接受类型声明的确切类型的变量,或者抛出TypeError。此规则的唯一例外是,可能会给期望浮点的函数一个整数
这是一个:
加宽基元转换不会丢失有关数值整体大小的信息