在PHP 7中,一种新的方式来设置模式是否进行严格模式。
coercive -强制是默认模式,无需指定。
strict -严格模式必须明确暗示。
可使用上述模式强制执行以下功能参数类型–
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, ...