zoukankan      html  css  js  c++  java
  • 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:未完待续

  • 相关阅读:
    Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类
    入门设计模式之桥梁模式
    入门设计模式之外观模式
    入门设计模式之策略
    入门设计模式之观察者
    入门设计模式之模板
    入门设计模式之原型
    入门设计模式之工厂
    几分钟几张图教你学会如何使用UML
    入门设计模式之建造者
  • 原文地址:https://www.cnblogs.com/blue-t/p/14513421.html
Copyright © 2011-2022 走看看