zoukankan      html  css  js  c++  java
  • php7+新特性

    php7已经发布有段时间了,查了下正式版本的发布时间是2015年底,至于具体的新特性,在这里总结一下。

    标量类型声明

    php7新增了4种类型, 字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool)。

    举个例子:

    上述能正常输出结果5,如果改为如下,把参数3改成字符串

    就会报错PHP Fatal error:  Uncaught TypeError: Argument 2 passed to sumOfInts() must be of the type integer, string given

    返回值类型声明

    PHP 7 增加了对返回类型声明的支持。 类似于参数类型声明,返回类型声明指明了函数返回值的类型。可用的类型与参数声明中可用的类型相同

    举个例子:

     上述代码输出结果如下:

    Array
    (
    [0] => 1
    [1] => 3
    [2] => 2
    [3] => 4
    )

    null合并运算符

    由于日常使用中存在大量同时使用三元表达式和 isset()的情况, 我们添加了null合并运算符 (??) 这个语法糖。如果变量存在且值不为NULL, 它就会返回自身的值,否则返回它的第二个操作数。

    举个例子:

    上述输出 nobody

    太空船操作符

    太空船操作符用于比较两个表达式。当$a小于、等于或大于$b时它分别返回-1、0或1,相当于java的compare函数

    通过 define定义常量数组 

    Array 类型的常量现在可以通过 define() 来定义。在 PHP5.6 中仅能通过 const 定义

    Group use declarations

    从同一 namespace 导入的类、函数和常量现在可以通过单个 use 语句 一次性导入了

    <?php
    
    // PHP 7 之前的代码
    use some
    amespaceClassA;
    use some
    amespaceClassB;
    use some
    amespaceClassC as C;
    
    use function some
    amespacefn_a;
    use function some
    amespacefn_b;
    use function some
    amespacefn_c;
    
    use const some
    amespaceConstA;
    use const some
    amespaceConstB;
    use const some
    amespaceConstC;
    
    // PHP 7+ 及更高版本的代码
    use some
    amespace{ClassA, ClassB, ClassC as C};
    use function some
    amespace{fn_a, fn_b, fn_c};
    use const some
    amespace{ConstA, ConstB, ConstC};
    ?>

    其他7.0版本的新特性具体可见 http://php.net/manual/zh/migration70.new-features.php

    php7.1的新特性

    http://php.net/manual/zh/migration71.new-features.php

    php7.2的新特性

    http://php.net/manual/zh/migration72.new-features.php

    php7.3的新特性

    http://php.net/manual/zh/migration73.new-features.php

  • 相关阅读:
    FP-growth算法思想和其python实现
    HDInsight Command
    OpsMgr Connector 20070
    Exchange: How to get Mailbox size in Exchange Shell?
    Get members for ‘Dynamic Distribution Group’
    Hadoop 学习之路-开篇
    Office365 配置完成ADFS之后修改密码之后需要删除登陆信息
    添加只读访问权限到邮箱里的所有文件夹
    使用 Windows PowerShell 连接到 Lync Online
    windows 7无法打补丁
  • 原文地址:https://www.cnblogs.com/kumufengchun/p/10174334.html
Copyright © 2011-2022 走看看