首页 >后端开发 >php教程 >可空类型在 PHP7 及更高版本中如何工作?

可空类型在 PHP7 及更高版本中如何工作?

Susan Sarandon
Susan Sarandon原创
2024-12-06 09:59:14379浏览

How Do Nullable Types Work in PHP7 and Beyond?

PHP7 中的可空类型:理解问号

PHP7 之前引入了可空类型的概念,用问号 (?) 表示类型声明 (?string, ?int)。这些类型允许值是指定类型或 null。

参数

将参数标记为可为空时,意味着该函数可以接受指定类型或 null 作为参数。例如:

public function (?string $parameter1, string $parameter2) {}

在这种情况下,函数可以为 $parameter1 接收字符串或 null,但 $parameter2 必须是字符串。

返回类型

可为空类型也可用于返回值。这表明该函数可以返回指定类型或 null。例如:

function error_func(): int {
    return null; // Invalid in PHP7.1+
}

function valid_func(): ?int {
    return null; // Valid in PHP7.1+
}

属性类型(PHP7.4)

PHP7.4 为属性声明引入了可空类型。这允许属性为指定类型或 null。

可为空联合类型 (PHP8)

在 PHP8 中,可为空类型是指定的联合的简写类型和 null。例如:

private ?object $bar = null; // PHP7.1+
private object|null $baz = null; // PHP8+

错误处理

在 PHP7.0 及更早版本中,在类型声明之前使用问号将导致语法错误。 PHP7.1 版本将接受可空类型。

参考

  • [可空类型](https://www.php.net/manual/en/ language.types.declarations.php#language.types.declarations.nullable)
  • [类属性类型声明](https://www.php.net/manual/en/language.oop5.properties.php#language.oop5.properties.declare)
  • [可空联合类型](https://wiki .php.net/rfc/union_types_v2)

以上是可空类型在 PHP7 及更高版本中如何工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn