以下内容借鉴菜鸟教程 代码是j绝对验证过的
PHP7增加了标量类型声明的特性,标量类型声明有两种模式
1 . 强制模式(默认)
2 . 严格模式
标量类型声明语法格式:
declare( strict_types=1 );
代码中通过制定 strict_types 的值( 1 或者 0 )
- 1 表示严格类型校验模式,作用于函数调用和返回语句;
- 0 表示弱类型校验模式。
可以使用的类型参数有:
- int
- float
- bool
- string
- interfaces
- array
- callable
callable 可回掉的函数名
// 强制模式
function sum(int ...$ints) // ...三个点 是可变参数 可能借鉴了 java吧
{
return array_sum($ints); //不知道怎么回事 加上 $ 报错
}
print(sum(2, '3', 4.1));
不会报错 答案是 9 ,会把 字符串 浮点型 转换成整型相加
// 严格模式
declare(strict_types=1);
function sum(int ...$ints)
{
return array_sum($ints);
}
print(sum(2, '3', 4.1));
报 fatal error 错误 参数必须是 int 类型
返回类型的声明:
PHP 7 增加了对返回类型声明的支持,返回类型声明指明了函数返回值的类型。
可以声明的返回类型有:
- int
- float
- bool
- string
- interfaces
- array
- callable
declare(strict_types=1);
function returnIntValue(int $value): int // 冒号 :后面跟 类型
{
return $value;
}
print(returnIntValue(5));