在PHP 7中,引入了一个新功能,Scalar类型声明.标量类型声明有两个选项 :
强制 - 强制是默认模式,不需要指定.
严格 - 严格模式必须明确提示.
可以使用上述模式强制执行以下函数参数类型 :
int
float
bool
string
interfaces
数组
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, ...