• php7.* 新特性


    null合并运算符
    $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
    $username = $_GET['user'] ?? 'nobody'; // 等同于上句操作
    // 合并操作
    $username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';

    定义常量
    define('IT', ['sina', 'baidu', 'tencent']);
    echo IT[0]; // sina

    // php7中增加了标量类型声明,分为两种模式,强制(默认),严格模式;
    // ... 可变数量的参数 5.6添加
    // declare(strict_types=1); 1:严格模式,0:弱类型(默认)
    // declare(strict_types=0); 当为1时会报参数错误
    // 标量类型声明,参数声明为 int
    function sumOfInts(int ...$ints)
    {
      return array_sum($ints);
    }
    var_dump(sumOfInts(2, 3, 4.1)); // int(9)

    // 返回类型声明,返回类型声明为string
    function sumOfInts(int ...$ints) : string
    {
      return array_sum($ints);
    }
    var_dump(sumOfInts(2, 3, 4.1)); // string(1) "9"


    // 太空船操作符(组合比较符)
    // 太空船操作符用于比较两个表达式。当$a小于、等于或大于$b时它分别返回-1、0或1
    // 可用配合排序使用

    echo 1 <=> 1; // 相等 0
    echo " ";
    echo 1 <=> 2; // 小于 -1
    echo " ";
    echo 1 <=> 0; // 大于 1

    $things = [
        [
            'foo' => 2,
            'bar' => 'b'
        ],
        [
            'foo' => 3,
            'bar' => 'c'
        ],
        [
            'foo' => 1,
            'bar' => 'a'
        ]
    ];
    
    usort($things, function ($a, $b) {
        return $a['foo'] <=> $b['foo'];
    });
    print_r($things);
    Array
    (
        [0] => Array
            (
                [foo] => 1
                [bar] => a
            )
        [1] => Array
            (
                [foo] => 2
                [bar] => b
            )
        [2] => Array
            (
                [foo] => 3
                [bar] => c
            )
    
    )

    TODO:未完待续

  • 相关阅读:
    226_翻转二叉树
    199_二叉树的右视图
    145_二叉树的后序遍历
    做IT,网络/系统/数据库/软件开发都得懂
    [恢]hdu 1200
    [恢]hdu 2080
    [恢]hdu 1222
    [恢]hdu 1128
    [恢]hdu 2153
    [恢]hdu 2132
  • 原文地址:https://www.cnblogs.com/blue-t/p/14513421.html
Copyright © 2020-2023  润新知