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, ...