PHPのスカラー型と戻り値の型宣言
スカラー型宣言
デフォルトでは、すべての PHP ファイルは弱い型チェック モードになっています。
PHP 7 では、スカラー型宣言の機能が追加されました:
force モード (デフォルト)
strict モード
スカラー型宣言の構(gòu)文形式:declare(strict_types) = 1);
呼び出し可能
強制モード 例
例
<?php // 強制模式 function sum(int ...$ints) { return array_sum($ints); } print(sum(2, '3', 4.1)); ?>
上記のプログラム実行出力結(jié)果は、
9例の概要 パラメータ 4.1 を整數(shù) 4 に変換して加算します。
Strictモードの例
Example
<?php // 嚴格模式 declare(strict_types=1); function sum(int ...$ints) { return array_sum($ints); } print(sum(2, '3', 4.1)); ?>上記のプログラムはStrictモードを採用しているため、パラメータに不適切な整數(shù)型が出現(xiàn)するとエラーが報告されます。 PHP Fatalエラー: キャッチされません TypeError: sum() に渡される引數(shù) 2 は、整數(shù)、指定された文字列、呼び出し先の型である必要があります...
戻り値の型宣言
呼び出し可能
戻り値の型 宣言インスタンス
インスタンスでは、戻り値は整數(shù)である必要があります:
<?php declare(strict_types=1); function returnIntValue(int $value): int { return $value; } print(returnIntValue(5)); ?>上記のプログラム実行出力結(jié)果は次のとおりです: 5
戻り値の型宣言エラー インスタンス
インスタンス 上記プログラムはstrictモードを採用しているため戻り値はintである必要がありますが、計算結(jié)果はfloatなのでエラーが報告されます: Fatal error: Uncaught TypeError: returnIntValueの戻り値。 () は整數(shù)型である必要があり、浮動小數(shù)點數(shù)が返されます...<?php
declare(strict_types=1);
function returnIntValue(int $value): int
{
return $value + 1.0;
}
print(returnIntValue(5));
?>