PHP7新特性:
性能提升:PHP7比PHP5.6性能提升了两倍。
全面一致的64位支持。
以前的许多致命错误,现在改成抛出异常。
移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展。
新增了NULL合并操作符(??)。
新增加了结合比较运算符(<=>)。
新增加了函数的返回类型声明。
新增加了标量类型声明。
通过 define() 定义常量数组。
新增加匿名类。
PHP 5.6 新特性:
使用表达式定义常量。
使用 ... 运算符定义变长参数函数。
使用 ... 运算符进行参数展开。
使用 ** 进行幂运算。
use 运算符 被进行了扩展以支持在类中导入外部的函数和常量(use function、use const)。
对于一些字符编码相关的函数,例如 htmlentities(), html_entity_decode() 以及 htmlspecialchars() 使用 default_charset(默认值是 UTF-8) 作为默认字符集。
php://input 是可重用。
大文件上传,支持大于 2GB 的文件上传。
GMP 支持运算符重载。
使用 hash_equals() 比较字符串避免时序攻击。
加入 __debugInfo(), 当使用 var_dump() 输出对象的时候, 可以用来控制要输出的属性和值。
加入 gost-crypto 散列算法。
pgsql 扩展现在支持 异步方式连接数据库及执行查询, 也即可以使用非阻塞的方式和 PostgreSQL 数据库进行交互。
PHP 5.5 新特性:
生成器 yield关键字。
finally关键字。
foreach 支持list()。
empty() 支持任意表达式。
非变量array和string也能支持下标获取。
类名通过::class可以获取。
增加了opcache扩展。
不再支持 Windows XP 和 2003。
PHP 5.4 新特性:
新增支持 traits 。
新增短数组语法,比如 $a = [1, 2, 3, 4]; 或 $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4]; 。
新增支持对函数返回数组的成员访问解析,例如 foo()[0] 。
现在 闭包 支持 $this 。
现在不管是否设置 short_open_tag php.ini 选项,= 将总是可用。
新增在实例化时访问类成员,例如: (new Foo)->bar() 。
现在支持 Class::{expr}() 语法。
新增二进制直接量,例如:0b001001101 。
改进解析错误信息和不兼容参数的警告。
SESSION 扩展现在能追踪文件的 上传进度 。
内置用于开发的 CLI 模式的 web server 。
PHP 5.3 新特性:
添加了命名空间的支持.
添加了静态晚绑定支持.
添加了跳标签支持.
添加了原生的闭包(Lambda/匿名函数)支持.
新增了两个魔术方法, __callStatic 和 __invoke.
添加了 Nowdoc 语法支持, 类似于 Heredoc 语法, 但是包含单引号.
使用 Heredoc 来初始化静态变量和类属性/常量变为可能.
可使用双引号声明 Heredoc, 补充了 Nowdoc 语法.
可在类外部使用 const 关键词声明 常量.
三元运算操作符有了简写形式: ?:.
HTTP 流包裹器将从 200 到 399 全部的状态码都视为成功。
动态访问静态方法变为可能.
异常可以被内嵌.
新增了循环引用的垃圾回收器并且默认是开启的.
mail() 现在支持邮件发送日志. (注意: 仅支持通过该函数发送的邮件.)