組合比較符php
太空船操做符使用 <=> 表示,用於比較兩個表達式。當 $a 小於、等於或大於 $b 時它分別返回-一、0或1。數組
NULL合併運算符瀏覽器
NULL 合併運算符使用 ?? 表示,意味着若是 ?? 以前的變量存在且值不爲 NULL,它就會返回自身的值,不然返回 ?? 後的操做數。閉包
返回值類型聲明函數
PHP 7 增長了對返回類型聲明的支持。 相似於參數類型聲明,返回類型聲明指明瞭函數返回值的類型。如下類型能夠用來做爲返回類型聲明。性能
int 、float、 bool、 string、 interfaces、 array、 callable編碼
示例 - 有效的返回類型spa
<?php declare(strict_types = 1); function returnIntValue(int $value): int { return $value; } print(returnIntValue(5)); ?>
這將在瀏覽器產生輸出如下結果-.net
5
示例 - 無效的返回類型(聲明類型後,int與float沒法進行計算)code
<?php declare(strict_types = 1); function returnIntValue(int $value): int { return $value + 1.0; } print(returnIntValue(5)); ?>
這將在瀏覽器產生輸出如下結果-
Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...
Array 類型的常量如今能夠經過 define() 來定義。在 PHP5.6 中僅能經過 const 定義。
define('ANIMALS', [
'dog',
'cat',
'bird'
]);
echo ANIMALS[1]; // 輸出 "cat"
Unicode codepoint 轉譯語法
這接受一個以16進制形式的 Unicode codepoint,並打印出一個雙引號或heredoc包圍的 UTF-8 編碼格式的字符串。 能夠接受任何有效的 codepoint,而且開頭的 0 是能夠省略的。
Closure::call() 如今有着更好的性能,簡短幹練的暫時綁定一個方法到對象上閉包並調用它。
新增長的 IntlChar 類旨在暴露出更多的 ICU 功能。這個類自身定義了許多靜態方法用於操做多字符集的 unicode 字符。
printf('%x', IntlChar::CODEPOINT_MAX);
echo IntlChar::charName('@');
var_dump(IntlChar::ispunct('!'));
以上例程會輸出:
10ffff COMMERCIAL AT bool(true)