PHP7新增的主要特性

1.use的用法php

<?php

//  PHP 7 以前版本用法
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

use function some\namespace\fn_a;
use function some\namespace\fn_b;
use function some\namespace\fn_c;

use const some\namespace\ConstA;
use const some\namespace\ConstB;
use const some\namespace\ConstC;

// PHP 7+ 用法
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{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"); //返回常量的值

spa

?>

4.三目運算符null合併code

<?php
// 若是 $_GET['user'] 不存在返回 'nobody',不然返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 相似的三元運算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>
相關文章
相關標籤/搜索