php 函數的返回值可以為 null,明確聲明返回值類型為 ?type 可指示函數可返回 null 或特定類型的值。
PHP 函數返回值的類型是否可以為 null?
當一個函數沒有顯式返回任何值時,PHP 會隱式返回 NULL
。然而,從 PHP 7.0 開始,你可以明確地聲明一個函數的返回值類型為 ?type
,指示該函數可以返回 NULL
或給定類型的值。
語法:
function functionName(): ?type { // ... }
登錄后復制
注意事項:
聲明返回值類型為 ?type
不同于使用 @
抑制錯誤消息。IDE(如 PHPStorm)將根據你的聲明顯示類型提示。與 @
不同,?type
允許你利用類型提示的好處,同時仍然允許函數返回 NULL
。
實戰案例:
function getUserName(int $userId): ?string { // ... if ($user === null) { return null; } return $user->name; }
登錄后復制
在這個例子中,getUserName
函數聲明它接受一個整數 $userId
參數并返回一個可選的字符串,即 ?string
。如果找不到用戶,該函數返回 NULL
。
結論:
在 PHP 中使用 ?type
聲明函數的返回值類型,可以在確保代碼安全性和可維護性的同時允許函數返回 NULL
。