php7 新增特性

組合比較符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...

 

經過 define() 定義常量數組

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

新增長的 IntlChar 類旨在暴露出更多的 ICU 功能。這個類自身定義了許多靜態方法用於操做多字符集的 unicode 字符。


printf('%x', IntlChar::CODEPOINT_MAX);
echo IntlChar::charName('@');
var_dump(IntlChar::ispunct('!'));

以上例程會輸出:

10ffff
COMMERCIAL AT
bool(true)
相關文章
相關標籤/搜索