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

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

Mary-Kate Olsen
发布: 2024-12-15 12:39:11
原创
742 人浏览过

How Do Nullable Types Work in PHP 7 and Above?

了解 PHP 7 的可空类型(?string 或 ?int)

在 PHP 7 中,一个称为“可空”的新功能类型”被引入。它允许开发人员指定参数或返回值可以是指定类型或 null。可空类型由类型声明前的问号 (?) 表示。

参数中的可空类型

语法:

function test(?string $parameter1, string $parameter2) {}
登录后复制
  • 标记为可空(?string)的参数可以接受字符串和空值。
  • 没有可空类型(字符串)的参数必须接收非空值,否则将引发错误。

示例:

test("foo", "bar"); // OK
test(null, "foo"); // OK
test("foo", null); // Error
登录后复制

返回可空类型值

语法:

function error_func(): int {
    return null ; // Error: Return value must be of type integer
}

function valid_func(): ?int {
    return null ; // OK
}
登录后复制
  • 具有可为空返回类型的函数可以返回指定类型或 null。
  • 没有可为空返回类型的函数必须返回非空值,否则会出现错误

属性中的可空类型 (PHP 7.4 )

语法:

class Foo
{
    private ?object $bar = null; // OK: can be null
}
登录后复制
  • 类属性可以有可为 null 的类型,表示它们可以包含 null

可空联合类型 (PHP 8.0 )

从 PHP 8.0 开始,“?T 表示法被视为常见情况的简写的T|null"。

语法:

class Foo
{
    private object|null $baz = null;
}
登录后复制
  • 可为空联合类型允许为变量分配指定类型或 null。

< ;h3>错误处理

如果使用的PHP版本较低从 7.1 开始,如果使用可为 null 的类型,将会抛出语法错误。在这种情况下,请删除问号 (?)。

参考文献

  • 可空类型 (PHP 7.1 ):
  • 类属性类型声明(PHP 7.4):
  • 可空联合类型(PHP 8.0):

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板