ホームページ >バックエンド開発 >PHPチュートリアル >PHP関数パラメータの型制限は何ですか?

PHP関数パラメータの型制限は何ですか?

WBOY
WBOYオリジナル
2024-04-11 11:15:01882ブラウズ

PHP 関数のパラメーターの型制限は、型ヒントを通じて指定できます。これにより、パラメーターに予期される型を指定できるようになります。渡されたパラメータが型と一致しない場合、TypeError 例外が発生します。 PHP8 以降では共用体型がサポートされており、複数の可能な型を使用できます。静的分析ツールは、型ヒントを使用してエラーを検出し、実行時の型の不一致を回避できます。

PHP 函数参数的类型限制是什么?

#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;
}

If整数以外の値が渡された場合、関数は 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 中国語 Web サイトの他の関連記事を参照してください。

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