组合比较符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)