为了账号安全,请及时绑定邮箱和手机立即绑定

php函数参数的数据类型的行为

php函数参数的数据类型的行为

PHP
慕森卡 2021-10-15 14:44:44
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;

}


查看完整回答
反对 回复 2021-10-15
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

如果您使用的是 PHP7,请添加以下内容:

declare(strict_types = 1);

在脚本的第一行,然后你会得到一个错误。

//img1.sycdn.imooc.com//6169237f000113e310400920.jpg

查看完整回答
反对 回复 2021-10-15
?
ITMISS

TA贡献1871条经验 获得超8个赞

PHP 是松散类型的脚本语言,对变量类型及其性质没有限制。

$i = "10";

将被视为整数和字符串。

您可以通过搜索“为什么 PHP 是松散类型的?”来了解有关这种性质的更多信息。


查看完整回答
反对 回复 2021-10-15
  • 3 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信