ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数の型ヒントと自動型変換

PHP 関数の型ヒントと自動型変換

WBOY
WBOYオリジナル
2024-04-27 09:24:021234ブラウズ

PHP の型ヒントは、型エラーを回避するために、予期されるパラメーターと関数の戻り値の型を宣言します。また、自動型変換も提供し、変換が失敗した場合には型エラーをスローします。クレジット カード番号の検証の例に示されているように、これらの機能により、コードの可読性が向上し、エラーが削減され、コンパイラ エラー検出が向上します。

PHP 函数的类型提示和自动类型转换

#PHP 関数の型ヒントと自動型変換

型ヒント

PHP 7 では型ヒントが導入され、開発者は期待されるパラメーターの型と関数の戻り値の型を宣言できるようになりました。これにより、型エラーが回避され、コードの可読性が向上します。例:

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

上記のコードは、

sum() 関数が 2 つの整数パラメータを受け取り、整数値を返すことを宣言しています。

自動型変換

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。