PHP 函數參數類型限制可透過類型提示指定,該功能允許為參數指定預期類型。如果傳遞的參數與類型不匹配,則會觸發 TypeError 異常。 PHP8 及更高版本支援聯合類型,允許使用多個可能的類型。靜態分析工具可使用類型提示偵測錯誤,避免執行時間類型不符。
PHP 函數參數的型別限制
PHP 支援多種資料型別,但函數參數的型別限制卻很靈活。
類型提示
PHP7 及更高版本支援類型提示。此功能可讓您為函數參數指定預期的類型。如果傳遞的參數與指定的類型不匹配,則會觸發一個 TypeError 異常。
語法:
function functionName(int $parameter1, string $parameter2): void { // ... }
可選類型
#PHP8 及更高版本允許使用聯合類型指定多個可能的類型。如果傳遞的參數與任何指定的類型匹配,則不會觸發異常。
語法:
function functionName(int|string $parameter1): void { // ... }
靜態分析
一些開發環境和靜態分析工具,例如 PhpStorm,可以使用類型提示來偵測潛在的錯誤。這有助於在運行時之前識別並解決類型不匹配的情況。
實戰案例
假設我們有一個函數calculateArea
來計算矩形的面積:
function calculateArea(int $width, int $height): float { return $width * $height; }
如果傳遞了非整數值,則函數將觸發TypeError 異常。
try { $area = calculateArea(1.5, 2.5); } catch (TypeError $e) { echo $e->getMessage(); }
輸出:
Argument 1 passed to calculateArea() must be of the type int, float given
注意:
以上是PHP 函數參數的型別限制是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!