PHP7標量型別宣告


在PHP7,一個新的功能,標量型別宣告已被引入。標量型別宣告有兩種選擇方式 -
  • 強制方式- 強制性是預設模式,不需要指定

  • 嚴格方式 - 嚴格模式有明確的暗示

以下幾種型別的函式引數可以通過上述模式被強制執行 -
  • 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, ...