Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 函数返回类型_Php - Fatal编程技术网

Php 函数返回类型

Php 函数返回类型,php,Php,为什么返回类型“integer”会引发致命错误。如果我在函数中删除类型“integer”,我将得到1 function add(int $a, int $b): integer { return $a + $b; } echo add(5.7, -4.6); faultCode1faultStringFatal错误:未捕获类型错误:add()的返回值必须是integer的实例,integer在中返回 您需要使用int而不是integer 请试试这个: func

为什么返回类型
“integer”
会引发致命错误。如果我在函数中删除类型
“integer”
,我将得到1

 function add(int $a, int $b): integer {
        return $a + $b;
    }
    echo add(5.7, -4.6);
faultCode1faultStringFatal错误:未捕获类型错误:add()的返回值必须是integer的实例,integer在中返回


您需要使用
int
而不是
integer
请试试这个:

function add(int $a, int $b): int 
{
    return $a + $b;
}
您遇到的另一个问题是:5.7和-4.6不是整数值,因此您的代码无效,因此会出现异常


您需要使用
int
而不是
integer
请试试这个:

function add(int $a, int $b): int 
{
    return $a + $b;
}
您遇到的另一个问题是:5.7和-4.6不是整数值,因此您的代码无效,因此会出现异常


用intAlso 5.7和-4.6替换integer不是整数。我不知道的是,如果不声明严格的\u类型,如果可能发生强制,标量类型提示参数和类型不匹配的返回不一定会引发异常。将integer替换为intAlso 5.7和-4.6不是整数。我没有意识到的是,如果不声明严格的\u类型,如果可能发生强制,标量类型提示参数和类型不匹配的返回不一定会引发异常。请尝试将参数$a和$b从int更改为Integer!是链接到RFC而不是手册的选择,因为后者在这里的细节不多?如果不是在严格模式下,对于那些参数提示不匹配,您不会得到TypeError致命错误。是的,是正确的!谢谢@Progrock,但是链接rfc的选择更加具体,我认为您可以很好地理解这个问题,尝试将参数$a和$b从int更改为整数!是链接到RFC而不是手册的选择,因为后者在这里的细节不多?如果不是在严格模式下,对于那些参数提示不匹配,您不会得到TypeError致命错误。是的,是正确的!谢谢@Progrock,但是链接rfc的选择更具体,我认为您可以很好地理解这个问题