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