PHP7新增的主要特性

1.use的用法

<?php

//  PHP 7 之前版本用法
use somenamespaceClassA;
use somenamespaceClassB;
use somenamespaceClassC as C;

use function somenamespacefn_a;
use function somenamespacefn_b;
use function somenamespacefn_c;

use const somenamespaceConstA;
use const somenamespaceConstB;
use const somenamespaceConstC;

// PHP 7+ 用法
use somenamespace{ClassA, ClassB, ClassC as C};
use function somenamespace{fn_a, fn_b, fn_c};
use const somenamespace{ConstA, ConstB, ConstC};
?>

2.序列号函数unserialize的新增了过滤功能

// 转换对象为 __PHP_Incomplete_Class 对象
$data = unserialize($foo, ["allowed_classes" => false]);

// 转换对象为 __PHP_Incomplete_Class 对象,除了 MyClass 和 MyClass2
$data = unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]);

// 默认接受所有类
$data = unserialize($foo, ["allowed_classes" => true]);

3.通过define定义常量数组

<?php
define('ANIMALS', [
    'dog',
    'cat',
    'bird'
]);

  echo ANIMALS[1]; // 输出 "cat"

  define("GREETING","Hello you! How are you today?",TRUE);
  echo constant("greeting"); //返回常量的值

?>

4.三目运算符null合并

<?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 类似的三元运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>
原文地址:https://www.cnblogs.com/wanglijun/p/10908848.html