当前位置:Gxlcms > PHP教程 > PHP7中标量类型declare的用法详解

PHP7中标量类型declare的用法详解

时间:2021-07-01 10:21:17 帮助过:15人阅读

这篇文章主要介绍了PHP7标量类型declare用法,结合实例形式分析了PHP7中标量类型declare的功能、特性与相关使用技巧,需要的朋友可以参考下

本文实例讲述了PHP7标量类型declare用法。分享给大家供大家参考,具体如下:

php7为了提高执行效率,在函数方法中增加了标量类型(布尔、浮点、整型、字符)的申明特性,节省了对数据类型的检测。

php7 仍然支持弱类型检测,即仍然可以使用原来的方式声明形参。

标量声明有两种特性:

强制模式(默认):体现在类型转换上

严格模式

模式声明:declare(strict_types=1);

默认情况值为0,值为1代表为严格校验的模式

可以使用的类型参数:

  1. int-float-bool-string-interfaces-array-callable

作用于形参与返回值类型说明,可选

形参

  1. //强制模式
  2. <?php
  3. /**
  4. * Created by PhpStorm.
  5. * User: bee
  6. * Date: 2016/4/22
  7. * Time: 10:17
  8. */
  9. // php7之前申明方式
  10. function type_weak(... $int){
  11. return array_sum($int);
  12. }
  13. // 强制模式 php7声明方式
  14. //强制模式下会将所有实参转换为整型
  15. function sum(int ... $ints)
  16. {
  17. //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
  18. print_r($ints);
  19. echo "<br>";
  20. return array_sum($ints);
  21. }
  22. echo type_weak(2, '3',0.11);
  23. echo "<hr>";
  24. echo sum(2, '3',0.11);

运行效果图如下:

  1. //将模式申明为严格模式
  2. <?php
  3. /**
  4. * Created by PhpStorm.
  5. * User: bee
  6. * Date: 2016/4/22
  7. * Time: 10:17
  8. */
  9. //declare 必须在文件首部
  10. declare(strict_types=1);
  11. // 强制模式(默认)
  12. function type_weak(... $int){
  13. return array_sum($int);
  14. }
  15. // 强制模式
  16. function sum(int ... $ints)
  17. {
  18. //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
  19. print_r($ints);
  20. echo "<br>";
  21. return array_sum($ints);
  22. }
  23. echo type_weak(2, '3',0.11);
  24. echo "<hr>";
  25. //实参存在字符串与浮点型,报错
  26. echo sum(2, '3',0.11);

运行效果图如下:

返回值

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: bee
  5. * Date: 2016/4/22
  6. * Time: 10:17
  7. */
  8. declare(strict_types=0);
  9. // 强制模式(默认)
  10. function type_weak(... $int) :int{
  11. return array_sum($int);
  12. }
  13. // 强制模式
  14. function sum(int ... $ints) :int
  15. {
  16. //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
  17. print_r($ints);
  18. echo "<br>";
  19. //严格模式下报错
  20. return array_sum($ints)+0.6;
  21. }
  22. echo type_weak(2, '3',0.11);
  23. echo "<hr>";
  24. echo sum(2, '3',0.11);

运行效果图如下:

以上就是PHP7中标量类型declare的用法详解的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行