2024-04-10

PHP 函数返回值的类型如何推断?

php 8 引入了类型推断功能,允许在函数声明中指定返回类型(如 functionname(): type)。例如,一个名为 sum 的函数返回 int 类型,可通过 $name = $user->getname() 来调用。需要注意,实际返回类型必须与声明返回类型一致,否则将引发 typeerror 异常。

PHP 函数返回值的类型如何推断?

PHP 函数返回值的类型推断

在 PHP 8 中,引入了类型推断功能,可帮助您推断函数返回值的类型。这通过在函数声明中指定期望的返回类型来完成。语法如下:

function functionName(): type {
  // 函数体
}
登录后复制

例如,我们定义了一个名为 sum 的函数,它将两个数字相加并返回一个整数值:

function sum(int $a, int $b): int {
  return $a + $b;
}
登录后复制

实战案例

假设我们有一个 User 类,它有一个 getName 方法,该方法返回一个字符串:

class User {
  public function getName(): string {
    return "John Doe";
  }
}
登录后复制

以下是如何使用类型推断调用 getName 方法:

$user = new User();
$name = $user->getName(); // $name 将被推断为字符串类型
登录后复制

注意事项

  • 如果实际返回类型与声明的返回类型不匹配,PHP 将引发一个 TypeError 异常。
  • 对于继承类,派生类的返回类型可以覆盖基类的返回类型。
  • 对于联合类型(例如 int|string),函数可以返回任何符合联合类型的类型。
  • 您仍然可以使用 @return 标签来指定函数返回值的类型,但它将被类型推断功能所覆盖。

以上就是PHP 函数返回值的类型如何推断?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/743453.html

发表回复

Your email address will not be published. Required fields are marked *