PHP 中檢查函數參數類型方法:使用typehints 指定參數和傳回值類型,並拋出TypeError 例外;使用getType() 取得變數實際類型,用於條件語句;使用assert() 檢查條件,為假時拋出AssertionError 異常和錯誤訊息。
如何檢查PHP 函數參數型別
前言
在現代開發中,類型檢查變得越來越重要,它可以提高程式碼的可維護性和可靠性。 PHP 語言提供了多種方法來檢查函數參數類型。
方法 1:使用 typehints
typehints 是 PHP 7 中引入的一種語法糖,可以在函數宣告中指定參數的預期類型。
function add(int $a, int $b): int { return $a + $b; }
int
typehint 指定參數和傳回值都是整數型別。如果傳遞的參數不是整數,PHP 將拋出 TypeError 例外。
方法 2:使用 getType()
#getType()
函數可以取得變數的實際型別。
function isString(mixed $value): bool { return gettype($value) === 'string'; }
mixed
typehint 指定參數可以是任何型別。 gettype()
函數傳回變數的實際類型,以便在條件語句中使用。
方法 3:使用 assert()
assert()
函數可以在執行時檢查條件。如果條件為假,它將拋出 AssertionError 異常。
function validateEmail(string $email): void { assert(filter_var($email, FILTER_VALIDATE_EMAIL), 'Invalid email address'); }
assert()
函數接受兩個參數:條件和錯誤訊息。如果條件為假,它將拋出 AssertionError 異常並顯示錯誤訊息。
實戰案例
假設我們有一個處理使用者輸入的函數。我們可以使用typehints 和assert()
來檢查輸入是否有效:
function processInput(array $data): void { assert(array_key_exists('name', $data), 'Missing "name" field'); assert(array_key_exists('email', $data), 'Missing "email" field'); assert(filter_var($data['email'], FILTER_VALIDATE_EMAIL), 'Invalid email address'); // 处理经过验证的输入... }
在這個範例中,我們確保$data
陣列包含name
和email
字段,且電子郵件地址有效。如果沒有滿足這些條件,將引發 AssertionError 異常並顯示適當的錯誤訊息。
以上是如何檢查 PHP 函數參數類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!