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中文網其他相關文章!