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 版本将接受可空类型。
参考
以上是可空类型在 PHP7 及更高版本中如何工作?的详细内容。更多信息请关注PHP中文网其他相关文章!