PHP7-スカラー型の宣言
PHP 7では、新機能であるスカラー型宣言が導入されました。スカラー型宣言には2つのオプションがあります-
coercive --coerciveはデフォルトモードであり、指定する必要はありません。
strict -厳密モードは明示的にヒントを与える必要があります。
上記のモードを使用して、関数パラメーターの次のタイプを適用できます。
- int
- float
- bool
- string
- interfaces
- array
- callable
例-強制モード
<?php
// Coercive mode
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
次のブラウザ出力を生成します-
9
例-厳密モード
<?php
// Strict mode
declare(strict_types=1);
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
次のブラウザ出力を生成します-
Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...