首頁 >後端開發 >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