function addition(int $number1, int $number2): int
{
return $number1 + $number2;
}
print('<pre>');
print_r(addition(2, "10"));
print('</pre>');
由于上述代码,它给了我12。但它应该给我一个错误。因为第二个参数应该是int
。但是我通过了string
。谁能告诉我在这里发生什么样的行为?
谢谢。
答案 0 :(得分:4)
声明strict_types()。默认情况下,它是scalar type
,不严格。另外strict_types()
对您的代码有更多的控制权。
declare(strict_types=1);
function addition(int $number1, int $number2): int
{
return $number1 + $number2;
}
答案 1 :(得分:1)
答案 2 :(得分:0)
PHP是一种松散类型的脚本语言,并且对变量类型及其性质没有限制。
$i = "10";
将被视为整数和字符串。
您可以通过搜索“为什么PHP松散键入?”进一步了解这种性质。