
上QQ阅读APP看书,第一时间看更新
3.7 标量类型的声明
默认情况下,所有的PHP文件都处于弱类型校验模式。PHP 8有标量类型声明的特性,标量类型声明有两种模式:强制模式(默认)和严格模式。
标量类型声明的语法格式如下:
declare(strict_types=1);
通过指定strict_types的值(1或者0)来表示声明模式:1表示严格类型声明模式,作用于函数调用和返回语句;0表示强制类型声明模式。
提示
可以声明标量类型的参数类型包括int、float、bool、string、interfaces、array和callable。
1.强制模式
下面通过案例来学习强制模式的含义,代码如下:
<?php // 强制模式 function sum(int $a,int $b) { return $a+$b; } print(sum(2, 4.1)); ?>
上面程序的输出结果为6。代码中的4.1先转换为整数4,再进行相加操作。
2.严格模式
下面通过案例来学习严格模式的含义,代码如下:
<?php // 严格模式 declare(strict_types=1); function sum(int $a,int $b) { return $a+$b; } print(sum(2, 4.1)); ?>
以上程序由于采用了严格模式,因此如果参数中出现的不是整数类型,程序执行时就会报错,如图3-16所示。

图3-16 错误提示信息