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