• 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中文网其它相关文章!

  • 相关阅读:
    misc子系统
    Spring boot+RabbitMQ环境
    Linux input
    lnmp环境的搭建
    DDD的.NET开发框架
    【踩坑记】从HybridApp到ReactNative
    Migrating from IntelliJ Projects
    Windows下Redis中RedisQFork位置调整
    远程仓库版本回退方法 good
    maven repository
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9863801.html
Copyright © 2020-2023  润新知