返回类型声明在PHP中的使用
在使用 PHP7 的时候,您会发现在 PHP7 中包含了一个新的功能,即返回类型声明。返回类型声明指定一个函数应该返回的值的类型,可用的类型与参数声明中可用的类型相同。可以声明以下类型的返回类型:
整数型int
浮点型float
布尔型bool
字符串型string
接口类型interfaces
数组型array
可调用的callable
有效返回类型-实例<?php
declare(strict_types = 1);
function returnIntValue(int $value): int {
return $value;
}
print(returnIntValue(5));
?>
它产生以下浏览器输出:5
function arraysSum(array ...$arrays): array{
return array_map(function(array $array): int {
return array_sum($array);
}, $arrays);
}
print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));
?>
它产生以下浏览器输出:Array
(
[0] => 6
[1] => 15
[2] => 24
)
返回类型无效-实例<?php
declare(strict_types = 1);
function returnIntValue(int $value): int {
return $value + 1.0;
}
print(returnIntValue(5));
?>
它产生以下浏览器输出:
PHP Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned in /soft/node/run.php:4 Stack trace: #0 /soft/node/run.php(6): returnIntValue(5) #1 {main} thrown in /soft/node/run.php on line 4