PHP7增加了标量类型声明的特性,标量类型声明有两种模式 :

 

  • 强制模式(默认)

  • 严格模式
     

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。