首頁  >  文章  >  後端開發  >  PHP 函數傳回值的型別如何推斷?

PHP 函數傳回值的型別如何推斷?

WBOY
WBOY原創
2024-04-10 21:24:011037瀏覽

PHP 8 引入了類型推斷功能,允許在函數宣告中指定傳回類型(如 functionName(): 型)。例如,一個名為 sum 的函數傳回 int 類型,可透過 $name = $user->getName() 來呼叫。需要注意,實際傳回類型必須與聲明傳回類型一致,否則將引發 TypeError 異常。

PHP 函数返回值的类型如何推断?

PHP 函數傳回值的類型推斷

在PHP 8 中,引入了類型推斷功能,可協助您推斷函數傳回值的類型。這透過在函數聲明中指定期望的返回類型來完成。語法如下:

function functionName(): type {
  // 函数体
}

例如,我們定義了一個名為sum 的函數,它將兩個數字相加並傳回一個整數值:

function sum(int $a, int $b): int {
  return $a + $b;
}

實戰案例

假設我們有一個User 類,它有一個getName 方法,該方法傳回一個字串:

class User {
  public function getName(): string {
    return "John Doe";
  }
}

以下是如何使用類型推斷呼叫getName 方法:

$user = new User();
$name = $user->getName(); // $name 将被推断为字符串类型

注意事項

  • 如果實際傳回類型與宣告的傳回類型不匹配,PHP 將引發一個TypeError 異常。
  • 對於繼承類,衍生類別的回傳類型可以覆寫基底類別的回傳類型。
  • 對於聯合類型(例如 int|string),函數可以傳回任何符合聯合類型的類型。
  • 您仍然可以使用 @return 標籤來指定函數傳回值的類型,但它將被類型推斷功能所覆寫。

以上是PHP 函數傳回值的型別如何推斷?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn