中級 › declare(strict_types=1) で型の異なる引数を渡すと TypeError になる › パターン4
declare(strict_types=1) で型の異なる引数を渡すと TypeError になる
ファイルの先頭でdeclare(strict_types=1)を宣言すると、関数の型宣言と異なる型の値を渡した際に自動変換されず、TypeErrorになります。
1 <?php 2 declare(strict_types=1); 3 function multiply(int $a, int $b): int { 4 return $a * $b; 5 } 6 echo multiply(4, ______); ^
Fatal error: Uncaught TypeError: multiply(): Argument #2 ($b) must be of type int, string given, called in main.php on line 6 and defined in main.php:3
空欄を埋めて実行を通す
strict_types=1の下では、int型の引数に文字列を渡しても自動変換されずTypeErrorになります。
次の問題