在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, ...
关注编程技巧 回复19领350本编程书籍