最近碰到好几个没见过的PHP语法,发现是PHP7的新特性,然后就准备根据官网的说明,大家总结一下PHP7都有那些新特性。
PHP7.0.x
1、形参可以声明标量类型(整型、字符串、浮点型和布尔型),代码如下

2、返回类型声明,代码如下

3、null合并运算符,代码如下

4、太空船操作符,这个比较容易理解,代码如下

5、使用define定义数组,这个大家看语义描述就可以理解,就不上代码了。
6、匿名类,代码如下

7、双引号可以解析转译字符,跟解析变量一样,实际用途我暂时没有想到。
8、更加简洁的绑定闭包到一个对象上,代码如下

9、为反序列化提供过滤,官网说明是防止潜在的代码注入,我实在想不出什么方式实现这个注入?难道是用户传递的数据中有一个对象?大家自行百度吧,我也不是很清楚这个安全机制到底有什么用。
10、新增IntlChar类,更加方便操作字符。
11、增强assert()断言,根据官网的介绍是优化断言函数,并提供断言失败抛出异常功能。
12、命名空间引入可以单条语句引入多个类。
13、整数除法函数intdiv。
PHP7.1.x
1、可以为空返回类型,代码如下

2、新增void返回类型,代码如下

3、list函数可以使用短数组语法[],同样支持键名,代码如下

4、类常量可见性。
5、iterable伪类。
6、可以使用管道符“|”捕获多个异常。
7、支持负的字符串偏移量,代码如下

PHP7.2.x
1、新的对象类型object,代码如下

2、允许重写抽象方法。
其它特性用的不多,这里就不做说明了。