PHP 類型提示可宣告函數的期望參數和傳回類型,以避免類型錯誤。它還提供自動類型轉換,在轉換失敗時拋出類型錯誤。這些特性增強了程式碼可讀性,減少了錯誤,並提高了編譯器錯誤偵測能力,如在驗證信用卡號碼的範例中所示。
PHP 函數的類型提示與自動類型轉換
類型提示
PHP 7 引入了類型提示功能,允許開發者聲明函數期望參數的類型和傳回類型。這有助於避免類型錯誤,並提高程式碼的可讀性。例如:
function sum(int $a, int $b): int { return $a + $b; }
上面程式碼宣告 sum()
函數接收兩個整數參數,並傳回一個整數值。
自動類型轉換
PHP 通常會嘗試自動將變數轉換為函數期望的類型。如果轉換失敗,會拋出類型錯誤。例如:
sum(1, '2'); // 自动将 '2' 转换为整型 2 sum('1', 2); // 抛出类型错误,因为 '1' 不能转换为整型
實戰案例
以下是驗證信用卡號碼是否有效的函數:
function isValidCreditCard(string $cardNumber): bool { // 验证卡号是否是 16 位数字 if (!preg_match('/^\d{16}$/', $cardNumber)) { return false; } // 使用 Luhn 算法验证卡号 $sum = 0; for ($i = 0; $i < strlen($cardNumber); $i++) { $digit = (int) $cardNumber[$i]; if ($i % 2 === 0) { $digit *= 2; } $sum += $digit % 10 + ($digit / 10); } return $sum % 10 === 0; }
#優點
##類型提示和自動類型轉換提供了以下好處:以上是PHP 函數的型別提示與自動型別轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!