PHP7标量类型声明新特性,如何定义变量更高效、更安全?
- 内容介绍
- 文章标签
- 相关推荐
本文共计501个文字,预计阅读时间需要3分钟。
PHP7引入了标准类型声明的特性,标准类型声明有两种模式:强制模式和严格模式。1. 语法格式:`declare(strict_types=1);` // 通过设定strict_types的值(1或0)来启用或禁用严格类型检查。1 表示启用严格类型,即默认模式。
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
本文共计501个文字,预计阅读时间需要3分钟。
PHP7引入了标准类型声明的特性,标准类型声明有两种模式:强制模式和严格模式。1. 语法格式:`declare(strict_types=1);` // 通过设定strict_types的值(1或0)来启用或禁用严格类型检查。1 表示启用严格类型,即默认模式。
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

