开发学院

您的位置:首页>教程>正文

教程正文

PHP 7 标量类型声明

PHP 7 标量类型声明

  在PHP7中,引入了一个新特性,标量类型声明。标量类型声明有两个模式

  •   强制模式- 强制模式是默认模式,不需要指定。

  •   严格模式- 严格模式必须明确声明。RFC 给每一个 PHP 文件,添加一句新的可选指令(declare(strict_type=1);),让同一个 PHP 文件内的全部函数调用和语句返回,都有一个“严格约束”的标量类型声明检查。

  可以使用上述模式强制执行以下类型的函数参数:

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