zoukankan      html  css  js  c++  java
  • PHP7中标量类型declare的用法详解

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

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

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

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

    标量声明有两种特性:

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

    严格模式

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

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

    可以使用的类型参数:

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

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

    形参

    //强制模式

    <?php

    /**

     * Created by PhpStorm.

     * User: bee

     * Date: 2016/4/22

     * Time: 10:17

     */

    // php7之前申明方式

    function type_weak(... $int){

      return array_sum($int);

    }

    // 强制模式 php7声明方式

    //强制模式下会将所有实参转换为整型

    function sum(int ... $ints)

    {

      //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。

      print_r($ints);

      echo "<br>";

      return array_sum($ints);

    }

    echo type_weak(2, '3',0.11);

    echo "<hr>";

    echo sum(2, '3',0.11);

    运行效果图如下:

    //将模式申明为严格模式

    <?php

    /**

     * Created by PhpStorm.

     * User: bee

     * Date: 2016/4/22

     * Time: 10:17

     */

     //declare 必须在文件首部

    declare(strict_types=1);

    // 强制模式(默认)

    function type_weak(... $int){

      return array_sum($int);

    }

    // 强制模式

    function sum(int ... $ints)

    {

      //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。

      print_r($ints);

      echo "<br>";

      return array_sum($ints);

    }

    echo type_weak(2, '3',0.11);

    echo "<hr>";

    //实参存在字符串与浮点型,报错

    echo sum(2, '3',0.11);

    运行效果图如下:

    返回值

    <?php

    /**

     * Created by PhpStorm.

     * User: bee

     * Date: 2016/4/22

     * Time: 10:17

     */

    declare(strict_types=0);

    // 强制模式(默认)

    function type_weak(... $int) :int{

      return array_sum($int);

    }

    // 强制模式

    function sum(int ... $ints) :int

    {

      //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。

      print_r($ints);

      echo "<br>";

      //严格模式下报错

      return array_sum($ints)+0.6;

    }

    echo type_weak(2, '3',0.11);

    echo "<hr>";

    echo sum(2, '3',0.11);

    运行效果图如下:

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

  • 相关阅读:
    压缩感知(CS)
    在linux服务器上配置anaconda和Tensorflow,并运行
    opencv基本操作
    在windows10下vs2017配置opencv4.0.0
    枚举
    图片居中
    css初始化
    常用颜色
    css三大布局
    盒子宽度
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15453804.html
Copyright © 2011-2022 走看看