function addition(int $number1, int $number2): int{ return $number1 + $number2;}print('<pre>');print_r(addition(2, "10"));print('</pre>');由于上面的代码,它给了我 12。但它应该给我一个错误。因为第二个参数应该是一个int. 但是我通过了string。谁能告诉我这里发生了什么样的行为?提前致谢。
3 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
声明strict_types()。默认情况下,它scalar type不是严格的。还strict_types()可以更好地控制您的代码。
declare(strict_types=1);
function addition(int $number1, int $number2): int
{
return $number1 + $number2;
}
ITMISS
TA贡献1871条经验 获得超8个赞
PHP 是松散类型的脚本语言,对变量类型及其性质没有限制。
$i = "10";
将被视为整数和字符串。
您可以通过搜索“为什么 PHP 是松散类型的?”来了解有关这种性质的更多信息。
- 3 回答
- 0 关注
- 170 浏览
添加回答
举报
0/150
提交
取消