php 函数的返回值可以是标量、复合或资源类型,但只能返回一个值。标量类型的返回值强制转换为标量类型,void 函数不能返回任何值,未声明返回值类型的函数假设返回 void。
PHP 函数的返回值限制
PHP 函数的返回值可以是任何数据类型,包括:
- 标量类型(例如 int、float、string、bool、null)
- 复合类型(例如 array、object)
- 资源类型(例如文件指针、数据库链接)
但是,对于返回值类型有一些限制:
- 一个函数只能返回一个值。
- 标量类型的返回值强制转换为 scalar type,即使函数返回的是一个复合类型(例如数组或对象)。
- 如果函数声明为返回 void,则不能返回任何值。
实战案例:
以下函数声明为返回一个整数:
function sum($a, $b): int { return $a + $b; }
这个函数接收两个参数,返回其和。如果尝试返回一个字符串或数组,编译器会报错:
// 编译器错误 function sum($a, $b): string { return $a + $b; }
注意:
- 如果函数声明为返回 void,则即使使用
return
语句也不应该返回任何值。这样做可能会导致不可预料的行为。 - 如果函数未声明任何返回值类型,PHP 将假设返回 void。