PHP7增加了标量类型声明的特性,标量类型声明有两种模式 : 强制模式(默认) 严格模式 1.语法格式: declare( strict_types=1 );//代码中通过制定 strict_types 的值( 1 或者 0 ) 1 表示严格类型
强制模式(默认)
严格模式
1.语法格式:
declare( strict_types=1 );//代码中通过制定 strict_types 的值( 1 或者 0 )
1 表示严格类型校验模式,作用于函数调用和返回语句;
0 表示弱类型校验模式。
2.使用情况
使用declare
(strict_types=1)设置是否开启严格匹配模式,开启后,如果传入的参数不是预先设置的参数类型,将会报错,例如:
<?php declare(strict_types=1); function test(int $param) { var_dump($param); } test("1");//会提示报错
使用declare
(strict_types=0)设置是否开启强制模式,开启后,如果传入的参数不是预先设置的参数类型,将不会会报错,例如:
<?php declare(strict_types=1); function test(int $param) { var_dump($param); } test("1");//不会提示报错
小提示:在强制模式下,会判断当前传进来的参数是否是设置的参数类型,如果不是,则会进行强制转换,强制转换不了的,当然也是会报错的,这里一般标量类型之间的强转都是可以通过的。
3.可供使用的类型
int
float
bool
string
nterfaces
array
callable