PHP7新特性—标量类型声明

以下内容借鉴菜鸟教程 代码是j绝对验证过的

PHP7增加了标量类型声明的特性,标量类型声明有两种模式
1 . 强制模式(默认)
2 . 严格模式

标量类型声明语法格式:
declare( strict_types=1 );

代码中通过制定 strict_types 的值( 1 或者 0 )

  • 1 表示严格类型校验模式,作用于函数调用和返回语句;
  • 0 表示弱类型校验模式。

可以使用的类型参数有:

  • int
  • float
  • bool
  • string
  • interfaces
  • array
  • callable

callable 可回掉的函数名

// 强制模式

    function sum(int ...$ints) //    ...三个点 是可变参数 可能借鉴了 java吧
        { 
           return array_sum($ints); //不知道怎么回事 加上 $ 报错  
        }         
     print(sum(2, '3', 4.1));

不会报错 答案是 9 ,会把 字符串 浮点型 转换成整型相加

// 严格模式

    declare(strict_types=1); 
    
    function sum(int ...$ints) 
    { 
       return array_sum($ints); 
    } 
    
    print(sum(2, '3', 4.1)); 

报 fatal error 错误 参数必须是 int 类型

返回类型的声明:
PHP 7 增加了对返回类型声明的支持,返回类型声明指明了函数返回值的类型。
可以声明的返回类型有:

  • int
  • float
  • bool
  • string
  • interfaces
  • array
  • callable
    declare(strict_types=1); 
    function returnIntValue(int $value): int      // 冒号 :后面跟 类型
    { 
       return $value; 
    } 
   print(returnIntValue(5));

你可能感兴趣的:(PHP7,PHP)