• 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

  • 相关阅读:
    奇怪吸引子---Bouali
    奇怪吸引子---Arneodo
    奇怪吸引子---AnishchenkoAstakhov
    奇怪吸引子---Aizawa
    混沌图像---三翅鹰
    混沌图像---马丁迭代【密集恐惧症患者慎入】
    混沌图像---埃农的猫头鹰
    MySQL存储过程 事务transaction
    OBS直播抖音。。。
    [译][python]ImportError:attempted relative import with no known parent package
  • 原文地址:https://www.cnblogs.com/kumufengchun/p/10174334.html
Copyright © 2020-2023  润新知