当前位置:  首页>> 技术小册>> PHP8入门与项目实战(2)

默认情况下,所有的PHP文件都处于弱类型校验模式。PHP 8有标量类型声明的特性,标量类型声明有两种模式:强制模式(默认)和严格模式。

标量类型声明的语法格式如下:

  1. declare(strict_types=1);

通过指定strict_types的值(1或者0)来表示声明模式:1表示严格类型声明模式,作用于函数调用和返回语句;0表示强制类型声明模式。

可以声明标量类型的参数类型包括int、float、bool、string、interfaces、array和callable。

1.强制模式
下面通过案例来学习强制模式的含义,代码如下:

  1. <?php
  2. // 强制模式
  3. function sum(int $a,int $b)
  4. {
  5. return $a+$b;
  6. }
  7. print(sum(2, 4.1));
  8. ?>

上面程序的输出结果为6。代码中的4.1先转换为整数4,再进行相加操作。

2.严格模式
下面通过案例来学习严格模式的含义,代码如下:

  1. <?php
  2. // 严格模式
  3. declare(strict_types=1);
  4. function sum(int $a,int $b)
  5. {
  6. return $a+$b;
  7. }
  8. print(sum(2, 4.1));
  9. ?>

以上程序由于采用了严格模式,因此如果参数中出现的不是整数类型,程序执行时就会报错,如图3-16所示。