在PHP7,一个新的功能,标量类型声明已被引入。标量类型声明有两种选择方式 -
-
强制方式-%uA0强制性是默认模式,不需要指定
-
严格方式%uA0-%uA0严格模式有明确的暗示
以下几种类型的函数参数可以通过上述模式被强制执行%uA0-
- int
- float
- bool
- string
- interfaces
- array
- callable
示例%uA0-%uA0强制模式
<?php // Coercive mode function sum(int ...$ints) { return array_sum($ints) } print(sum(2, &apos3&apos, 4.1)) ?>
这将在浏览器产生输出以下结果-
9
示例%uA0-%uA0严格模式
<?php // Strict mode declare(strict_types=1) function sum(int ...$ints) { return array_sum($ints) } print(sum(2, &apos3&apos, 4.1)) ?>
这将在浏览器产生输出以下结果-
Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...