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++) {
$di<a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/15841.html" target="_blank">git</a> = (int) $cardNumber[$i];
if ($i % 2 === 0) {
$digit *= 2;
}
$sum += $digit % 10 + ($digit / 10);
}
return $sum % 10 === 0;
}
登錄后復制
優點
類型提示和自動類型轉換提供了以下好處:
減少類型錯誤
提高代碼的可讀性和可維護性
加強編譯器檢測錯誤的能力






