PHP 7在性能方面的突破成为近来最热门的话题之一,目前官方PHP 7.0.0 Beta 2已经发布
新特性
性能提升:PHP 7要比PHP 5.6快两倍
全面一致的64位支持
移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展
新增了空接合操作符(??)【wiki】
$username = $_GET['user'] ?? 'nobody';
// equivalent to: $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
新增加了结合比较运算符(<=>)【wiki】
$a = 1;
$b = 2;
switch ($a <=> $b)
{
case 1:
echo "a > b";
break;
case 0:
echo "a == b";
break;
case -1:
echo "a < b";
break;
}
新增加了函数的返回类型声明【wiki】
function foo(): array {
return [];
}
新增加了标量类型声明【wiki】
//标量声明的主要作用是自动实现参数的强制类型转换
//变量类型声明(int, float, string , bool)
function add(int $a, int $b): int {
return $a + $b;
}
新增加匿名类【wiki】
class Foo {}
$child = new class extends Foo {};
var_dump($child instanceof Foo); // true
可捕获致命错误,较早版本只能通过register_shutdown_function()事后处理。(wiki)
Benchmark
测试代码:
$count = $argv[1];
$a = array();
for ($i = 0; $i < $count; $i++) {
$a[$i] = $i;
}
foreach ($a as $i) {
array_key_exists($i, $a);
}
测试效果如下
可见PHP 7相对于PHP 5.4有数倍以上的速度提升。
社区中的Benchmark结果:
以WordPress开源博客首页为测试场景的测试结果: