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開源部落格首頁為測試情境的測試結果: