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)
相关文章
相关标签/搜索