zoukankan      html  css  js  c++  java
  • PHP7.x新特性

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

    // Integers
    echo 1 <=> 1; // 0
    echo 1 <=> 2; // -1
    echo 2 <=> 1; // 1
    // Floatsecho 1.5 <=> 1.5; // 0
    echo 1.5 <=> 2.5; // -1
    echo 2.5 <=> 1.5; // 1
    // Strings
    echo "a" <=> "a"; // 0
    echo "a" <=> "b"; // -1
    echo "b" <=> "a"; // 1
    2、返回值类型声明

    指定返回值是整型

    function f($a):int{
        return '123';
    } 
    var_dump(f(1));
    3、null合并运算符
    $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';    //php5
    $username = $_GET['user'] ?? 'nobody';    //php7
    4、匿名类,参照匿名函数理解
    (new class {
        public function a(){
            echo 123;
        }
     })->a();

    5、指定函数的传参类型

    function test(string $a,int $b){
       echo $a,$b;
    }
    test('a',1);
    6、传入的参数可为空(Nullable) 类型
    类型现在允许为空, 当启用这个特性时, 传入的参数或者函数返回的结果要么是给定的类型, 要么是 null 。 可以通过在类型前面加上一个问号来使之成为可为空的。
    function test(?string $username,int $age){
        echo "姓名: {$username} -- 年龄: {$age}<hr>";
    } ​ 
    test('小明',20);
    test(null,22);

    7、Void函数
    对于 void 函数来说, null 不是一个合法的返回值。可以不写return 或 return ; 就可以;写return null会报错。

    function test() : void {
    return; //表示返回void
    echo 111;​
    //return null; # 报错, 因为return null不能替换return;} ​ 
    test();

    8、list()支持关联数组
    现在list()支持在它内部去指定键名。 这意味着它可以将任意类型的数组 都赋值给一些变量(与短数组语法类似)

    ​$data = [
        ['id' => 1, 'name' => 'Tom'],
        ['id' => 2, 'name' => 'jack'],
    ];
    echo '<hr>';
    ​// php7.1写法
    foreach($data as list('id' => $id, 'name' => $name)){
        echo $id . '----' . $name . '<br>';
    }


  • 相关阅读:
    Non-local Neural Networks
    BERT-related Papers
    BERT在多模态领域中的应用
    Learning When and Where to Zoom with Deep Reinforcement Learning
    Physical Adversarial Textures That Fool Visual Object Tracking
    Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images
    Tutorial on Adversarial Example Generation
    NeurIPS 2019: Computer Vision Recap
    Deep Learning for Time Series Classification (InceptionTime)
    Contrastive Self-Supervised Learning
  • 原文地址:https://www.cnblogs.com/idjl/p/9610583.html
Copyright © 2011-2022 走看看